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

vs

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

Each chart bar shows, for one unidentified benchmark, how much the fastest Cython program used compared to the fastest Python 3 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 Cython programs faster? Approximately.

Each table row shows, for one named benchmark, how much the fastest Cython program used compared to the fastest Python 3 program.

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

 Cython used what fraction? used how many times more? 
Benchmark Time Memory Code
 thread-ring †1/240 ±
 iobench †1/199 ±
 n-body †1/5 ±
 fib50 †1/4 ±
 pystone †1/4 ±
 fasta-redux †1/2 ±
 fasta †1/2 1/2
 richards †1/2 ±
 templates †± ±
 jsonbench †± ±
 regex-dna †±?±
 fibonacci †± ±
 meteor-contest †± ±
 reverse-complement †±?±
 k-nucleotide †±?±
 pidigits †±?±
 chameneos-redux± ±
 Cython used what fraction? used how many times more? 
Time-used  |-  |---  25% median  75%  ---|  -|
(Elapsed secs)1/2401/2401/4±±±±

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

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

 3 : Are the Cython 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 Cython program are shown for comparison against measurements of the fastest Python 3 program.

Program Source Code CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
 thread-ring 
Cython0.230.231,896419  0% 0% 100% 0% 0% 0% 0% 0% †
Python 364.6956.0812,708448  22% 21% 22% 20% 17% 18% 17% 17% †
 iobench 
Cython0.020.02?366  0% 0% 0% 0% 0% 0% 100% 0% †
Python 33.383.398,140367  51% 26% 22% 19% 76% 17% 18% 16% †
 n-body 
Cython8.488.488,2841392  0% 0% 0% 1% 0% 1% 0% 100% †
Python 338.1938.198,0921315  19% 16% 100% 13% 14% 14% 12% 12% †
 fib50 
Cython0.500.508,220159  100% 0% 0% 0% 0% 0% 0% 0% †
Python 32.132.149,276136  5% 4% 4% 2% 5% 3% 100% 2% †
 pystone 
Cython0.060.07?2401  0% 100% 0% 0% 0% 0% 0% 0% †
Python 30.250.251,6162300  20% 12% 36% 12% 17% 17% 9% 100% †
 fasta-redux 
Cython0.110.11?1169  0% 100% 0% 0% 0% 0% 0% 0% †
Python 30.250.258161115  14% 96% 0% 4% 23% 19% 17% 9% †
 fasta 
Cython2.102.108,772945  1% 0% 0% 0% 0% 100% 0% 0% †
Python 37.494.4412,9362016  24% 55% 29% 21% 18% 71% 16% 18% †
 richards 
Cython0.520.538,2722467  0% 0% 2% 0% 100% 2% 0% 0% †
Python 30.900.908,7282434  19% 18% 18% 14% 100% 13% 12% 15% †
 templates 
Cython0.640.6616,780328  0% 0% 100% 0% 0% 0% 0% 1% †
Python 30.920.9216,376322  17% 14% 14% 13% 12% 99% 6% 13% †
 jsonbench 
Cython2.142.1438,300323  0% 0% 0% 0% 0% 0% 100% 0% †
Python 32.642.6412,316322  100% 4% 3% 2% 4% 4% 6% 1% †
 regex-dna 
Cython0.040.04?524  0% 20% 0% 0% 100% 0% 0% 0% †
Python 30.050.05?524  67% 20% 0% 40% 0% 0% 83% 20% †
 fibonacci 
Cython0.500.509,412184  0% 100% 0% 0% 2% 0% 2% 0% †
Python 30.560.568,584182  12% 50% 17% 5% 54% 7% 11% 2% †
 meteor-contest 
Cython2.352.3511,2281334  0% 0% 0% 0% 0% 0% 100% 0% †
Python 32.602.629,2561443  60% 13% 10% 11% 54% 12% 11% 12% †
 reverse-complement 
Cython0.020.02?458  0% 0% 0% 100% 0% 0% 0% 0% †
Python 30.020.02?449  33% 100% 33% 50% 0% 0% 33% 100% †
 k-nucleotide 
Cython0.070.07?618  0% 0% 0% 100% 12% 0% 0% 0% †
Python 30.100.07?801  17% 14% 38% 88% 25% 12% 83% 22% †
 pidigits 
Cython0.020.02?349  0% 0% 100% 0% 0% 0% 0% 0% †
Python 30.020.02?379  67% 25% 33% 0% 0% 0% 33% 100% †
 chameneos-redux 
Cython265.20221.398,2321203  6% 9% 7% 6% 8% 7% 10% 8%
Python 3296.43215.338,7281191  19% 14% 14% 13% 14% 15% 14% 14%
 spectral-norm 
No program
Python 30.160.16?394  6% 73% 17% 0% 94% 0% 7% 0%
 fannkuch-redux 
No program
Python 314.552.2012,8121069  94% 95% 94% 90% 98% 90% 93% 90%
 mandelbrot 
No program
Python 392.9312.6961,7403852  96% 99% 98% 99% 99% 96% 98% 98%
 binary-trees 
No program
Python 31.460.291,620741  69% 67% 79% 61% 68% 71% 64% 62%
 binary-trees-redux
   No programs

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

 4 : Are there other Cython programs for these benchmarks?

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

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

 5 : Are there other faster programs for these benchmarks?

Remember - those are just the fastest Cython and Python 3 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.

 Cython : Python compiled to C 

Revised BSD license

  Home   Conclusions   License   Play