Python: Guido van Rossum arbeitet an Performance der Sprache

Der Autor von Python spricht über seine Arbeit in Sachen mehr Performance in Python bei Microsoft.

Artikel veröffentlicht am ,
Python schneller ohne Pypy-, Cinder- oder Pyston-Kompromisse
Python schneller ohne Pypy-, Cinder- oder Pyston-Kompromisse (Bild: Jonathan Kriz via Flickr/CC-BY 2.0)

In einem Podcast von Software at Scale spricht Guido van Rossum über seine Arbeit bei Microsoft, wieso er sich dort für ein Performance-Projekt für die Programmiersprache entschieden hat und wo er die größten Optimierungspotenziale sieht.

Stellenmarkt
  1. Senior Data Engineer (m/f/d)
    Lidl Digital, Neckarsulm, Berlin
  2. IT Process Manager (m/w/d)
    Soluvia IT-Services GmbH, Mannheim, Kiel, Offenbach am Main, Homeoffice
Detailsuche

Das Projekt, an dem van Rossum bei Microsoft arbeitet, ist nicht das erste, das versucht, Python zu mehr Performance zu verhelfen. In dem Podcast direkt angesprochen werden Pypy und Pyston.

Kompatibilität wurde nie wirklich gelöst.

Bei beiden Projekten sieht van Rossum die größte Schwierigkeit in Kompatibilitäten von bestehenden Programmen und den Extension-Modulen. Gerade davon, wie Pypy gelaufen ist, scheint van Rossum enttäuscht zu sein. "Es hat sich immer so angehört, als sei Pypy eine Art magische Lösung, von der nur wenige Menschen auf der Welt verstehen, wie sie funktioniert. Und diese Leute haben das gebaut und sich dann entschieden, andere Dinge zu tun", kritisiert van Rossum die ursprünglichen Entwickler. Man habe es einfach anderen überlassen, "die eigentlichen Probleme mit Pypy zu lösen", Probleme, die im Bereich Kompatibilität mit den Erweiterungsmodulen liegen. "Und die haben sie nie wirklich gelöst", sagt van Rossum.

Die Pyston-Leute hätten zwar von den Fehlern bei Pypy gelernt und eine CPython-basierte Lösung angestrebt, um so Extension-Modules-Kompatibilität zu garantieren. Die Garbage-Collection-Verbesserungen lobt van Rossum, anderes wiederum war für ihn kontraproduktiv. "Ich glaube, sie haben die Referenzzählung abgeschafft. Aus diesem Grund wurde das Verhalten vieler realer Python-Programme vollständig geändert." Letztlich war es also wieder fehlende Kompatibilität.

Python 3: Das umfassende Handbuch: Über 1.000 Seiten Sprachgrundlagen, Objektorientierte Programmierung und Beispielprogramme
Golem Karrierewelt
  1. Adobe Photoshop Aufbaukurs: virtueller Zwei-Tage-Workshop
    15./16.12.2022, Virtuell
  2. Elastic Stack Fundamentals – Elasticsearch, Logstash, Kibana, Beats: virtueller Drei-Tage-Workshop
    14.-16.02.2023, Virtuell
Weitere IT-Trainings

Facebooks CI Python (Cinder) wurde für van Rossum "tot geboren, oder zumindest wurde es der Welt in seiner toten Form offenbart". Auch hier ist der Grund eine Änderung der Objekt-Layouts, die wie im Fall der abgeschafften Referenzzählungen zu Inkompatibilitäten führt.

Stattdessen: Bytecodeoptimierungen

Gearbeitet wird bei Microsoft an einem Ansatz, der von Mark Shannon stammt - auch er ist Teil des Projektteams, in dem van Rossum mitwirkt. Mit Bytecode-Interpreter-Optimierungen soll bei voller Kompatibilität schon in CPython 3.11 in 2022 eine Performanceverdopplung drin sein. In ein paar Jahren, van Rossum spricht von vier Jahren, soll eine fünffache Geschwindigkeit in Aussicht stehen. Um das zu erreichen, soll Tiered Execution Verwendung finden, bei dem Code bei mehreren Durchläufen immer wärmer wird und dabei immer weitere Optimierungen in der Ausführung erhält. Als Optimierungen sind Typanpassungen im Interpreter, schnellere Calls und Returns, Geschwindigkeitsverbesserungen bei Binäroperationen, ein Zero-Overhead-Konzept für Exception-Handling, ein JIT-Compiler und einiges mehr geplant.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
El-Ali-Meteorit
Forscher entdecken zwei neue Minerale in einem Meteoriten

In einer Probe aus einem in Somalia niedergegangenen Meteoriten wurden zwei Mineralien entdeckt, die auf der Erde so bisher nicht gefunden wurden.

El-Ali-Meteorit: Forscher entdecken zwei neue Minerale in einem Meteoriten
Artikel
  1. Kraftfahrt-Bundesamt: Elektrischer Corsa sollte zur Abgasuntersuchung
    Kraftfahrt-Bundesamt
    Elektrischer Corsa sollte zur Abgasuntersuchung

    Das Kraftfahrt-Bundesamt ruft den Opel Corsa samt der Elektro-Variante zurück, weil ein Softwarefehler im Auto eine Messung verhindert.

  2. Recruiting: Personalauswahl mit KI kann Unternehmen schaden
    Recruiting
    Personalauswahl mit KI kann Unternehmen schaden

    Software ist objektiv und kennt keine Vorurteile, das macht Künstliche Intelligenz interessant für die Personalauswahl. Ist KI also besser als Personaler? Die Bewerber sind skeptisch und die Wissenschaft liefert keinen Beweis dafür.
    Ein Bericht von Peter Ilg

  3. Gerichtsurteil: MDR darf Facebook-Kommentare ohne Sendungsbezug löschen
    Gerichtsurteil
    MDR darf Facebook-Kommentare ohne Sendungsbezug löschen

    Öffentlich-rechtliche Sender begehen keine Zensur, wenn sie nicht strafbare Kommentare auf Facebook löschen. Manchmal sind sie eher dazu verpflichtet.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 bestellbar • Tiefstpreise: Crucial SSD 4TB 319€, Palit RTX 4080 1.499€, HTC Vive Pro 2 659€ • Alternate: Team Group SSD 512GB 29,99€, AOC Curved 27" 240 Hz 199,90€ • Samsung Cyber Week • Top-TVs (2022) LG & Samsung über 40% günstiger • AOC Curved 34" WQHD 389€ [Werbung]
    •  /