Python Interpreters Benchmarks
x64 ArchLinux : AMD® Ryzen 7 4700U®

vs

 1 : Are the PyPy programs faster? At a glance.

Each chart bar shows, for one unidentified benchmark, how much the fastest PyPy program used compared to the fastest Nuitka program.

(Memory use is only compared for tasks that require memory to be allocated.)


These are not the only compilers and interpreters. These are not the only programs that could be written. These are not the only tasks that could be solved. These are just 10 tiny examples.

 2 : Are the PyPy programs faster? Approximately.

Each table row shows, for one named benchmark, how much the fastest PyPy program used compared to the fastest Nuitka program.

(Memory use is only compared for tasks that require memory to be allocated.)

 PyPy used what fraction? used how many times more? 
Benchmark Time Memory Code
 n-body1/8 ±
 fib501/6 ±
 richards †1/3 ±
 thread-ring †1/3 ±
 jsonbench1/2 ±
 meteor-contest1/2 ±
 pystone †1/2?±
 fasta †± 1/2
 spectral-norm±?
 fannkuch-redux± ±
 fasta-redux±?±
 k-nucleotide±?±
 regex-dna?±
 reverse-complement †?±
 templates ±
 binary-trees40×±
 iobench ±
 pidigits100×?±
 PyPy used what fraction? used how many times more? 
Time-used  |-  |---  25% median  75%  ---|  -|
(Elapsed secs)1/81/81/2±100×

† possible mismatch - one-core program compared to multi-core program.

± read the measurements and then read the program source code.

 3 : Are the PyPy programs faster? Measurements.

These are not the only tasks that could be solved. These are just 10 tiny examples. These are not the only compilers and interpreters. These are not the only programs that could be written.

For each named benchmark, measurements of the fastest PyPy program are shown for comparison against measurements of the fastest Nuitka program.

Program Source Code CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
 n-body 
PyPy3.293.2974,8561337  0% 100% 1% 0% 1% 1% 1% 1%
Nuitka27.0927.1011,1361315  2% 1% 0% 0% 1% 0% 100% 0%
 fib50 
PyPy0.480.4877,576130  4% 100% 0% 2% 2% 0% 2% 0%
Nuitka2.922.9211,136136  2% 1% 1% 1% 100% 0% 0% 0%
 richards 
PyPy0.180.18?2423  18% 5% 100% 0% 0% 5% 5% 0% †
Nuitka0.580.5811,2642434  2% 2% 0% 0% 2% 2% 100% 0% †
 thread-ring 
PyPy0.110.11?407  0% 8% 92% 0% 9% 0% 0% 8% †
Nuitka0.350.351,152406  17% 3% 3% 0% 100% 14% 16% 9% †
 jsonbench 
PyPy0.900.9080,556322  0% 0% 100% 3% 1% 0% 1% 0%
Nuitka2.162.1614,896322  0% 0% 0% 100% 0% 0% 0% 0%
 meteor-contest 
PyPy0.670.6780,9721485  4% 0% 1% 99% 0% 4% 0% 0%
Nuitka1.351.3511,3921443  1% 0% 0% 0% 1% 100% 0% 0%
 pystone 
PyPy0.080.09?2301  100% 10% 0% 0% 0% 20% 0% 11% †
Nuitka0.150.15?2300  7% 6% 6% 0% 0% 100% 0% 0% †
 fasta 
PyPy1.751.7577,640900  2% 2% 2% 2% 100% 3% 2% 1% †
Nuitka5.592.5972,2242016  69% 14% 2% 63% 38% 7% 23% 5% †
 spectral-norm 
PyPy0.090.09?594  0% 0% 0% 100% 18% 0% 0% 0%
Nuitka0.100.11?394  8% 0% 91% 0% 0% 0% 0% 0%
 fannkuch-redux 
PyPy1.680.58322,0081009  41% 19% 66% 16% 43% 68% 66% 32%
Nuitka4.480.62102,152894  92% 90% 98% 89% 92% 84% 92% 90%
 fasta-redux 
PyPy0.190.19?1115  0% 0% 5% 100% 5% 5% 0% 0%
Nuitka0.190.19?1115  5% 0% 100% 0% 0% 0% 0% 0%
 k-nucleotide 
PyPy0.090.09?593  22% 18% 0% 100% 0% 0% 0% 0%
Nuitka0.080.06?801  14% 71% 14% 17% 0% 17% 17% 0%
 regex-dna 
PyPy0.100.11?501  100% 0% 0% 0% 0% 0% 0% 0%
Nuitka0.040.05?524  17% 0% 0% 0% 0% 100% 0% 0%
 reverse-complement 
PyPy0.060.06?432  0% 14% 0% 0% 0% 14% 14% 100% †
Nuitka0.030.03?458  0% 0% 0% 0% 0% 0% 100% 0% †
 templates 
PyPy2.372.4198,384307  0% 6% 94% 0% 0% 0% 1% 0%
Nuitka0.630.6319,200322  3% 100% 0% 0% 2% 3% 2% 0%
 binary-trees 
PyPy2.271.0491,028743  32% 67% 25% 28% 24% 28% 22% 24%
Nuitka1.060.222,304741  70% 62% 59% 59% 59% 82% 59% 55%
 iobench 
PyPy14.7314.7380,864370  0% 0% 100% 0% 0% 0% 1% 0%
Nuitka2.752.7611,008367  100% 0% 0% 0% 0% 0% 1% 0%
 pidigits 
PyPy2.982.9981,732322  100% 0% 0% 0% 1% 0% 0% 0%
Nuitka0.030.03?379  0% 75% 0% 0% 0% 0% 0% 0%
 mandelbrot 
No program
Nuitka36.894.88300,6403852  100% 95% 97% 94% 94% 95% 95% 95%
 fibonacci 
PyPy0.170.17?181  6% 0% 0% 0% 0% 6% 11% 100%
No program
 chameneos-redux 
No program
Nuitka188.65274.4015,2681191  8% 5% 5% 5% 9% 8% 8% 9%
 binary-trees-redux
   No programs

† possible mismatch - one-core program compared to multi-core program.

 4 : Are there other PyPy programs for these benchmarks?

Remember - those are just the fastest PyPy and Nuitka programs measured on this OS/machine. Check if there are other implementations of these benchmark programs for PyPy.

Maybe one of those other PyPy programs is fastest on a different OS/machine.

 5 : Are there other faster programs for these benchmarks?

Remember - those are just the fastest PyPy and Nuitka programs measured on this OS/machine. Check if there are faster implementations of these benchmark programs for other programming languages.

Maybe one of those other programs is fastest on a different OS/machine.

 PyPy : the old PyPy 

Revised BSD license

  Home   Conclusions   License   Play