Daily MaverickWHAT’S COOKING: Roast butternut soup with roasted garlic, spices and orange zestThe Jerusalem PostIsrael 'in the dark' over flydubai terror hijacker investigation as Mossad probes link to IranPunchAt 70, Alake has made Ekiti proud — OyebanjiBollywood HungamaEggoz onboards Boman Irani as brand ambassadorInquirerGroup hits ‘veiled threats’ to journalists in Sara Duterte’s trialZDF heuteAktuelle Pressemitteilungen des ZDFUOLTécnico de jiu-jítsu Bruno Formiga é acusado de assédio sexual e estupro por alunas no RJColliderThis Horror Legend's Biggest Bomb Got Better With Its Unrated VersionObservador DesportoHomem aterra avioneta em Serpa e sai de táxiFootball ItaliaLazio linked with move for ex Man Utd and Crystal Palace winger ZahaABC NewsSeeing threats to religious liberty, Alito calls same-sex marriage a 'decisive' turnCNN بالعربيةبرفقة والديها وسروال جينز.. هل تتعمد عارضة أزياء هندية لفت الأنظار في باريس؟
The Daily Newsstand · Free, Always
Tuesday, October 6, 2026

Mehr Rust für CPython: zlib soll auf Rust umgestellt werden

Translate

Eine Gruppe um die beiden Python-Core-Entwickler Emma Smith und Kirill Podoprigora will Rust in den Standard-Interpreter CPython bringen, zunächst für einzelne Module der Standardbibliothek. Entsprechend ihres Fahrplans soll Python 3.16 im Oktober 2027 als Erstes eine Rust-Variante des Kompressionsmoduls zlib mitbringen, zunächst aber noch optional: Wer Python ohne Rust bauen will, erhält wie bisher die C-Implementierung. Ab 2029 soll Rust mit Python 3.18 jedoch Pflicht werden.

Den Fahrplan hatte David Hewitt, Maintainer der Rust-Anbindung PyO3, bereits im Juli auf dem Python Language Summit 2026 vorgestellt, dem jährlichen Treffen der Core-Entwickler. In Erweiterungen für Python ist Rust über PyO3 längst verbreitet, neu wäre es in CPython selbst.

Das Projekt Rust for CPython verspricht sich von Rust vor allem Speichersicherheit. Sicherer Rust-Code unterbindet etwa Zugriffe außerhalb des reservierten Speichers und auf bereits freigegebenen Speicher (Use-after-free). Bereits im Vorentwurf vom November 2025 hatte Co-Projektleiterin Emma Smith festgestellt, dass viele dieser Probleme auf solche Fehlerklassen zurückgehen.

zlib eignet sich laut Hewitt als Einstieg, weil sich trotz des kleinen Umfangs bereits eine spürbare Verbesserung erzielen lasse. Da es mit der Bibliothek zlib-rs eine externe Rust-Abhängigkeit mitbringt, ließe sich auch direkt erproben, wie der Build-Prozess mit Paketen aus Rusts Paketmanager Cargo umgeht. zlib-rs steckt laut Hewitt bereits in Firefox und Cargo selbst und sei auf vielen Plattformen schneller als das klassische zlib.

In Benchmarks eines Prototyps dekomprimierte das Modul laut Projektangaben auf einem Mac mit ARM-Prozessor bis zu sechsmal so schnell, berechnete CRC32-Prüfsummen aber knapp dreimal langsamer.

Für Python 3.16 ist außerdem eine interne Rust-Schnittstelle geplant, mit der Version 3.17 könnten Module wie json und xml folgen. Distributoren, etwa Linux-Distributionen, sollen die Rust-Variante in 3.16 ausprobieren und Probleme mit einzelnen Plattformen früh melden.

Vorab definierte Erfolgskriterien sollen die Entscheidung erleichtern, ob Rust den experimentellen Status verlässt, ähnlich wie schon beim JIT-Compiler und beim Free-Threading. Das wäre der Fall, wenn eine Mehrheit der aktiven Core-Entwickler offen dafür ist, Funktionen in Rust umzusetzen, wenn CPython-Benchmarks nicht spürbar langsamer sind und Rust alle offiziell unterstützten Plattformen abdeckt, ohne Distributoren zu überfordern. Es wäre unaufrichtig, Rust als dauerhaft optional darzustellen, so Hewitt

Bedenken gibt es bei den Abhängigkeiten. Ein Mitglied des Steering Council, das fünfköpfige Leitungsgremiums von Python, sieht in den vielen Paketen aus Cargo einen Showstopper, weil jede Sicherheitslücke darin neue Python-Releases erzwinge. Hewitt entgegnete, das Team wolle möglichst wenige Abhängigkeiten und deren Quellcode separat mitliefern, sodass sich CPython auch ohne Cargo bauen lasse.

Ursprünglich war Rust bereits für Python 3.16 standardmäßig vorgesehen, nach Einwänden, unter anderem zur Portabilität, verschob das Team diesen Schritt. Ein neuer formaler Vorschlag mit den Erfolgskriterien wird aktuell im Rahmen eines Python Enhancement Proposal (PEP) für Ende 2026 erwartet, worüber dann der Steering Council entscheidet. Neue Funktionen nimmt Python 3.16 laut Release-Plan bis zum 4. Mai 2027 auf.

View the original on heise online →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.