Miguel Grinberg, autore di diversi libri sui framework Python SQLAlchemy e Flask, ha pubblicato i risultati dei test di prestazione delle versioni CPython da 3.9 a 3.14. Inoltre, sono stati condotti test simili per Pypy 3.11 (un'implementazione di Python con compilatore JIT), Node.js 24 e Rust 1.90. Per le versioni CPython 3.13 e 3.14 è stata anche misurata la prestazione attivando il compilatore JIT e la modalità di costruzione Free-threading senza blocco globale.
Per modificare le prestazioni sono stati utilizzati script per calcolare i numeri di Fibonacci (ricorsione profonda) e l'ordinamento a bolle di numeri generati casualmente, eseguiti in modalità monothread e con suddivisione in 4 thread. I test sono stati eseguiti su Ubuntu 24.04 su un laptop con CPU Intel Core i5 e su macOS Sequoia su un laptop con SoC Apple M2.
In molti test, CPython 3.14 si è dimostrato più veloce della versione 3.13 di circa il 20%, mentre in alcuni test le versioni 3.11 e 3.12 sono risultate più veloci della 3.13. Il divario tra la 3.14 e le versioni 3.9 e 3.10 è stato di circa due volte. Pypy, Node.js e Rust hanno superato CPython 3.14 nel primo test rispettivamente di 4.93, 4.88 e 69.82 volte, e nel secondo test di 18.14, 6.64 e 36.15 volte, rispettivamente (sono stati confrontati solo i modelli monothread).




La modalità senza blocco globale in CPython 3.14 ha permesso di raddoppiare le prestazioni di esecuzione multithread. L'attivazione della modalità JIT in CPython non ha portato a un incremento significativo delle prestazioni, e nel test della versione 3.14 su macOS ha persino rallentato l'esecuzione.


Nei test monothread, la modalità senza blocco globale ha notevolmente rallentato l'esecuzione delle attività, mentre la modalità JIT ha avuto quasi nessun impatto sulle prestazioni.


Fonte: opennet.ru
