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. Embedded-Softwareentwickler*- in (w/m/d) Linux Kernel / Bootloader
    Guntermann & Drunck GmbH, Siegen
  2. Project Manager Apptio (m/w/d)
    ALDI International Services GmbH & Co. oHG, Mülheim an der Ruhr, Duisburg, Dortmund, Düsseldorf
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. Python kompakt - Einführung für Softwareentwickler
    28.-29. Oktober 2021, online
  2. Masterclass: Data Science mit Pandas & Python
    22.-23. November 2021, online
  3. Advanced Python - Fortgeschrittene Programmierthemen
    27.-28. Januar 2022, online
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
Microsoft
Das nächste große Update für Windows 10 kommt im November

Die Version 21H2 wurde wohl auch wegen Windows 11 etwas nach hinten verschoben. Der Patch soll nun aber im November für Windows 10 kommen.

Microsoft: Das nächste große Update für Windows 10 kommt im November
Artikel
  1. Silence S04: Günstiges Elektroauto mit herausnehmbaren Akku vorgestellt
    Silence S04
    Günstiges Elektroauto mit herausnehmbaren Akku vorgestellt

    Beim Elektroauto Silence S04 kann der Nutzer den Akku selbst wechseln, wenn dieser leergefahren ist.

  2. Arduino und Python: Bastler nimmt Audiokassette als Speichermedium für Retro-PC
    Arduino und Python
    Bastler nimmt Audiokassette als Speichermedium für Retro-PC

    Die Kassette kann nicht nur Lieder speichern, sondern auch Bitmuster. Ein Bastler baut dafür eine Schnittstelle mit 1,5 KBit/s Datenrate.

  3. Truth Social: Trumps soziales Netz bekommt Probleme mit Hackern und Lizenz
    Truth Social
    Trumps soziales Netz bekommt Probleme mit Hackern und Lizenz

    Hacker starten in Trumps-Netzwerk einen "Online-Krieg gegen Hass" mit Memes. Der Code scheint illegal von Mastodon übernommen worden zu sein.

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 • AOC CQ32G2SE/BK 285,70€ • Dell Alienware AW2521H 360 Hz 499€ • Corsair Vengeance RGB PRO SL 64-GB-Kit 3600 253,64€ • DeepCool Castle 360EX 109,90€ • Phanteks Glacier One 240MP 105,89€ • Seagate SSDs & HDDs günstiger • Alternate (u. a. Thermaltake Core P3 TG Snow Ed. 121,89€) [Werbung]
    •  /