OrviScript 0.6.2 · pomiar lokalny

Milion iteracji. Czas bliski Node.js.

OrviScript osiągnął 115,9 ms end-to-end, Node.js 102,3 ms, a Python 384,8 ms na tej samej maszynie z procesorem Ryzen 9 9950X3D.

Ten sam program · milion iteracji

Blisko Node. Wyraźnie przed Pythonem.

Node.js 24.22.1± 24,5 ms · 84,1–218,2 ms
102,3 ms
Python 3.15.2± 69,1 ms · 292,5–586,1 ms
384,8 ms
Node jest około 1,13× szybszy od OrviScript.

OrviScript jest około 3,32× szybszy od Pythona w tym obciążeniu. Node osiągnął 3,76× wynik Pythona.

Hyperfine wykrył odchylenia statystyczne, szczególnie w wynikach Node i Pythona. To lokalny pomiar porównawczy, a nie obietnica identycznej wydajności w każdym programie.

Wewnątrz runtime'u

Mniej wyszukiwania. Prawie bez alokacji.

Największy koszt nie znajdował się w parserze, ale w boxowanych future, alokacjach i wyszukiwaniu zmiennych po nazwach. Fast path usuwa te koszty dla obsługiwanego kodu synchronicznego.

649.2 → 50.7 mspełny pipeline w procesie
~15,023,685 → 20alokacji dla miliona iteracji
0.5 µsstart pustego backendu
71.9 msminimalny proces na Windows

Co zmieniło 0.6.1

Szybka ścieżka bez łamania języka.

Program trafia do bytecode fast path tylko wtedy, gdy obsługiwany podzbiór zachowuje te same reguły typów i wykonania. Pozostały kod automatycznie korzysta ze zgodnego interpretera.

Bytecode fast path dla programów synchronicznych

Indeksowane sloty zmiennych zamiast lookupów po nazwach

Szybkie if, while, bloki, operatory i print

Typowane sloty oraz short-circuit && i ||

Automatyczny fallback dla funkcji, kolekcji, modułów i async

Metodologia

Jedno obciążenie. Ten sam wynik.

Pomiar Hyperfine z 27 października 2026 na Windows i procesorze Ryzen 9 9950X3D: 5 rozgrzewek i 30 prób z wyłączoną powłoką. OrviScript 0.6.2, Node.js 24.22.1 i Python 3.15.2 uruchamiały osobne procesy, wykonywały milion iteracji sumowania i zwracały sumę kontrolną 499999500000. Wynik obejmuje start procesu, wczytanie programu i wykonanie.

Ryzen 9 9950X3DWindowsHyperfine 1.20.05 warmups30 runsshell=none