Bewertung der Leistungsänderung von CPython in den letzten 5 Jahren

Miguel Grinberg, Autor mehrerer Bücher über Python-Frameworks wie SQLAlchemy und Flask, hat die Leistungstests von CPython-Versionen 3.9 bis 3.14 veröffentlicht. Darüber hinaus wurden ähnliche Tests für Pypy 3.11 (eine Python-Implementierung mit JIT-Compiler), Node.js 24 und Rust 1.90 durchgeführt. Für die Versionen CPython 3.13 und 3.14 wurde außerdem die Leistung mit aktivem JIT-Compiler und im Free-Threading-Modus ohne globale Sperre gemessen.

Zur Messung der Leistung wurden Skripte zur Berechnung von Fibonacci-Zahlen (tiefe Rekursion) und zur Durchführung einer Sortierung mit Bubble Sort von zufällig generierten Zahlen verwendet, die im Einzelthread-Modus und in einer Aufteilung auf 4 Threads ausgeführt wurden. Die Tests wurden unter Ubuntu 24.04 auf einem Laptop mit einem Intel Core i5-CPU und unter macOS Sequoia auf einem Laptop mit einem Apple M2 SoC durchgeführt.

In den meisten Tests erwies sich CPython 3.14 als etwa 20 % schneller als die Version 3.13, wobei in einigen Tests die Versionen 3.11 und 3.12 schneller als 3.13 waren. Der Abstand von 3.14 zu den Versionen 3.9 und 3.10 betrug etwa das Doppelte. Pypy, Node.js und Rust übertrafen CPython 3.14 im ersten Test um das 4,93-fache, 4,88-fache und 69,82-fache, und im zweiten Test um das 18,14-fache, 6,64-fache und 36,15-fache, jeweils (es wurden nur die Einzelthread-Modi verglichen).

Bewertung der Leistungsänderung von CPython in den letzten 5 Jahren
Bewertung der Leistungsänderung von CPython in den letzten 5 Jahren
Bewertung der Leistungsänderung von CPython in den letzten 5 Jahren
Bewertung der Leistungsänderung von CPython in den letzten 5 Jahren

Der Modus ohne globale Sperre in CPython 3.14 hat die Multithread-Ausführung verdoppelt. Die Aktivierung des JIT-Modus in CPython führte nicht zu einer signifikanten Leistungssteigerung und verlangsamte sogar die Ausführung in einem Test der Version 3.14 auf macOS.

Bewertung der Leistungsänderung von CPython in den letzten 5 Jahren
Bewertung der Leistungsänderung von CPython in den letzten 5 Jahren

In Einzelthread-Tests hat der Modus ohne globale Sperre die Ausführung von Aufgaben merklich verlangsamt, während der JIT-Modus kaum Auswirkungen auf die Leistung hatte.

Bewertung der Leistungsänderung von CPython in den letzten 5 Jahren
Bewertung der Leistungsänderung von CPython in den letzten 5 Jahren


Quelle: opennet.ru
Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster