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. Softwareentwickler (m/w/d) mit Schwerpunkt Regelungstechnik/DSP
    KOSTAL Automobil Elektrik GmbH & Co. KG, Dortmund
  2. Mitarbeiter (m/w/d) Strategischer Einkauf IT Dienstleistungen
    W&W Service GmbH, Ludwigsburg
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 Akademie
  1. Advanced Python – Fortgeschrittene Programmierthemen: virtueller Zwei-Tage-Workshop
    27.–28. Januar 2022, Virtuell
  2. C++ Programmierung Basics: virtueller Fünf-Tage-Workshop
    13.–17. Dezember 2021, 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
Resident Evil (1996)
Grauenhaft gut

Resident Evil zeigte vor 25 Jahren, wie Horror im Videospiel auszusehen hat. Wir schauen uns den Klassiker im Golem retro_ an.

Resident Evil (1996): Grauenhaft gut
Artikel
  1. Streaming: Chromecast erhält spezielle Youtube-Fernbedienung
    Streaming
    Chromecast erhält spezielle Youtube-Fernbedienung

    Die Steuerung von Youtube auf einem Chromecast soll mit einer neuen Funktion deutlich komfortabler werden.

  2. Studie: Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren
    Studie
    Kinder erhalten Smartphone meist zwischen 6 und 11 Jahren

    Nur eine sehr geringe Minderheit der Eltern will ihrem Kind erst mit 15 Jahren ein Smartphone zur Verfügung stellen.

  3. Google: Kopfhörer verlieren Google-Assistant-Support auf iPhones
    Google
    Kopfhörer verlieren Google-Assistant-Support auf iPhones

    Wer Google Assistant am Kopfhörer benutzen will, ist künftig auf ein Android-Gerät angewiesen.

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 • Saturn-Advent: Samsung Portable SSD T5 1 TB 84€ • ViewSonic VX2718-2KPC-MHD (WQHD, 165 Hz) 229€ • EPOS Sennheiser GSP 670 199€ • EK Water Blocks Elite Aurum 360 D-RGB All in One 205,89€ • KFA2 Geforce RTX 3070 OC 8 GB 1.019€ • Alternate (u. a. AKRacing Core SX 269,98€) [Werbung]
    •  /