Python VS Dart benchmarks

Current benchmark data was generated on Thu May 04 2023, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz (Model 85)

* -m in a file name stands for multi-threading or multi-processing

* -i in a file name stands for direct intrinsics usage. (Usage of simd intrinsics via libraries is not counted)

* -ffi in a file name stands for non-stdlib FFI usage

* (You may find time < time(user) + time(sys) for some non-parallelized programs, the overhead is from GC or JIT compiler, which are allowed to take advantage of multi-cores as that's more close to real-world scenarios.)

binarytrees

Input: 18

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 1260ms 24ms 79.6MB 1227ms 40ms dart/exe 3.1.0-63.0.dev
dart 1.dart 1292ms 5.7ms 85.7MB 1250ms 40ms dart/exe 2.19.6
python 1.py 1790ms 46ms 217.6MB 1663ms 110ms pypy 3.9.16
python 1.py timeout 0.0ms 40.9MB 4960ms 17ms cpython 3.11.3
python 1.py timeout 0.0ms 40.3MB 4917ms 63ms pyston 3.8.12

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 113ms 4.2ms 41.8MB 83ms 17ms dart/exe 3.1.0-63.0.dev
dart 1.dart 118ms 2.2ms 49.6MB 93ms 13ms dart/exe 2.19.6
python 1.py 160ms 14ms 74.6MB 110ms 23ms pypy 3.9.16
python 1.py 671ms 2.6ms 12.0MB 633ms 17ms pyston 3.8.12
python 1.py 966ms 14ms 12.5MB 947ms 3ms cpython 3.11.3

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 1514ms 44ms 220.9MB 1403ms 93ms pypy 3.9.16
dart 1.dart timeout 0.0ms 24.2MB 4887ms 83ms dart/exe 2.19.6
dart 1.dart timeout 0.0ms 18.2MB 4920ms 63ms dart/exe 3.1.0-63.0.dev
python 1.py timeout 0.0ms 20.2MB 4977ms 7ms cpython 3.11.3
python 1.py timeout 0.0ms 17.3MB 4980ms 0ms pyston 3.8.12

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 308ms 11ms 88.1MB 263ms 27ms pypy 3.9.16
dart 1.dart 528ms 2.5ms 18.0MB 497ms 17ms dart/exe 2.19.6
dart 1.dart 548ms 5.2ms 9.9MB 517ms 13ms dart/exe 3.1.0-63.0.dev
python 1.py 799ms 10ms 19.9MB 773ms 3ms cpython 3.11.3
python 1.py 868ms 8.8ms 16.8MB 840ms 7ms pyston 3.8.12

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 605ms 2.5ms 78.3MB 567ms 20ms pypy 3.9.16
python 1.py 1404ms 0.9ms 10.1MB 1387ms 0ms cpython 3.11.3
python 1.py 2300ms 2.5ms 9.7MB 2280ms 3ms pyston 3.8.12
dart 1.dart timeout 0.0ms 22.8MB 4977ms 17ms dart/exe 2.19.6
dart 1.dart timeout 0.0ms 15.9MB 4977ms 10ms dart/exe 3.1.0-63.0.dev

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 172ms 1.4ms 73.2MB 137ms 20ms pypy 3.9.16
python 1.py 263ms 2.3ms 9.3MB 247ms 0ms cpython 3.11.3
python 1.py 405ms 1.5ms 9.0MB 390ms 0ms pyston 3.8.12
dart 1.dart 1719ms 7.3ms 16.1MB 1687ms 23ms dart/exe 2.19.6
dart 1.dart 1735ms 9.8ms 9.7MB 1707ms 10ms dart/exe 3.1.0-63.0.dev

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 514ms 1.4ms 8.5MB 500ms 0ms dart/exe 3.1.0-63.0.dev
dart 1.dart 532ms 6.5ms 14.2MB 507ms 3ms dart/exe 2.19.6
python 5-m.py 3471ms 17ms 12.7MB 4990ms 1227ms pyston 3.8.12
python 1.py 3566ms 105ms 85.0MB 3510ms 37ms pypy 3.9.16
python 1.py 3928ms 17ms 8.0MB 3910ms 0ms pyston 3.8.12
python 5-m.py 4067ms 23ms 13.6MB 5703ms 1260ms cpython 3.11.3
python 5-m.py 4917ms 70ms 76.1MB 5657ms 1113ms pypy 3.9.16
python 1.py timeout 0.0ms 8.6MB 4980ms 3ms cpython 3.11.3

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 61ms 0.5ms 8.0MB 47ms 0ms dart/exe 3.1.0-63.0.dev
dart 1.dart 63ms 0.5ms 14.4MB 50ms 0ms dart/exe 2.19.6
python 1.py 409ms 0.7ms 7.9MB 393ms 3ms pyston 3.8.12
python 1.py 427ms 11ms 73.7MB 390ms 20ms pypy 3.9.16
python 5-m.py 428ms 8.5ms 12.6MB 557ms 143ms pyston 3.8.12
python 5-m.py 505ms 14ms 13.6MB 593ms 207ms cpython 3.11.3
python 1.py 604ms 1.0ms 8.6MB 587ms 0ms cpython 3.11.3
python 5-m.py 874ms 16ms 76.3MB 983ms 463ms pypy 3.9.16

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 6.0ms 2.5ms 6.2MB 0ms 0ms dart/exe 3.1.0-63.0.dev
dart 1.dart 8.1ms 0.9ms 13.7MB 0ms 0ms dart/exe 2.19.6
python 1.py 13ms 0.4ms 7.3MB 10ms 0ms pyston 3.8.12
python 1.py 15ms 0.9ms 8.4MB 7ms 3ms cpython 3.11.3
python 1.py 40ms 2.2ms 52.0MB 14ms 10ms pypy 3.9.16

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 1597ms 116ms 118.3MB 1360ms 920ms dart/exe 3.1.0-63.0.dev
python 1.py 1759ms 12ms 33.8MB 1307ms 933ms pyston 3.8.12
dart 2.dart 1807ms 673ms 118.0MB 1147ms 843ms dart/exe 2.19.6
python 1.py 2124ms 28ms 29.8MB 1697ms 923ms cpython 3.11.3
dart 1.dart 3839ms 120ms 109.7MB 1167ms 593ms dart/exe 2.19.6
python 1.py 4614ms 20ms 126.8MB 3537ms 890ms pypy 3.9.16
dart 1.dart timeout 0.0ms 117.5MB 1247ms 890ms dart/exe 3.1.0-63.0.dev

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 402ms 6.0ms 30.2MB 293ms 170ms pyston 3.8.12
python 1.py 439ms 8.1ms 24.9MB 333ms 170ms cpython 3.11.3
dart 2.dart 938ms 583ms 57.1MB 190ms 137ms dart/exe 2.19.6
python 1.py 1170ms 6.1ms 96.5MB 913ms 207ms pypy 3.9.16
dart 2.dart 1254ms 22ms 49.6MB 207ms 173ms dart/exe 3.1.0-63.0.dev
dart 1.dart 1511ms 141ms 55.2MB 180ms 113ms dart/exe 2.19.6
dart 1.dart 2050ms 499ms 50.2MB 223ms 177ms dart/exe 3.1.0-63.0.dev

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 276ms 1.7ms 38.4MB 247ms 13ms pyston 3.8.12
python 1.py 285ms 7.2ms 41.2MB 253ms 10ms cpython 3.11.3
dart 1.dart 295ms 7.1ms 50.6MB 257ms 23ms dart/exe 3.1.0-63.0.dev
dart 1.dart 300ms 5.0ms 58.4MB 260ms 27ms dart/exe 2.19.6
python 1.py 416ms 1.0ms 98.6MB 373ms 27ms pypy 3.9.16

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 2228ms 5.9ms 295.3MB 2297ms 123ms dart/exe 3.1.0-63.0.dev
dart 1.dart 2275ms 2.2ms 300.6MB 2320ms 153ms dart/exe 2.19.6
python 1.py 2584ms 4.8ms 223.0MB 2433ms 133ms cpython 3.11.3
python 1.py 2598ms 22ms 220.7MB 2400ms 177ms pyston 3.8.12
python 1.py 2650ms 20ms 239.6MB 2537ms 97ms pypy 3.9.16

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3-m.dart 2966ms 31ms 279.3MB 5200ms 130ms dart/exe 3.1.0-63.0.dev
dart 3-m.dart 3200ms 258ms 256.0MB 5663ms 123ms dart/exe 2.19.6
python 3-m.py 4677ms 58ms 209.3MB 8310ms 410ms pypy 3.9.16
python 3.py timeout 0.0ms 35.2MB 97ms 13ms cpython 3.11.3
python 3.py timeout 0.0ms 34.2MB 73ms 20ms pyston 3.8.12

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3-m.dart 462ms 4.8ms 195.6MB 743ms 67ms dart/exe 3.1.0-63.0.dev
dart 3-m.dart 478ms 9.7ms 196.3MB 750ms 83ms dart/exe 2.19.6
python 3-m.py 635ms 0.8ms 86.0MB 947ms 127ms pypy 3.9.16
python 3-m.py 676ms 6.7ms 17.7MB 1183ms 33ms pyston 3.8.12
python 3-m.py 943ms 4.1ms 16.7MB 1683ms 53ms cpython 3.11.3

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 220ms 4.5ms 8.9MB 207ms 0ms dart/exe 3.1.0-63.0.dev
python 2.py 232ms 1.0ms 71.0MB 203ms 17ms pypy 3.9.16
dart 2.dart 239ms 11ms 17.2MB 223ms 0ms dart/exe 2.19.6
python 1.py 278ms 6.3ms 71.9MB 247ms 13ms pypy 3.9.16
python 1.py 925ms 7.8ms 9.0MB 907ms 0ms pyston 3.8.12
dart 1.dart 1053ms 4.2ms 8.7MB 1033ms 0ms dart/exe 3.1.0-63.0.dev
dart 1.dart 1068ms 3.5ms 16.8MB 1053ms 0ms dart/exe 2.19.6
python 2.py 1073ms 2.7ms 8.8MB 1057ms 0ms pyston 3.8.12
python 1.py 1276ms 27ms 9.3MB 1257ms 0ms cpython 3.11.3
python 2.py 1421ms 16ms 9.1MB 1407ms 0ms cpython 3.11.3

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 2.py 557ms 2.9ms 71.5MB 527ms 20ms pypy 3.9.16
python 1.py 608ms 1.1ms 72.4MB 587ms 7ms pypy 3.9.16
dart 2.dart 642ms 2.6ms 8.7MB 623ms 3ms dart/exe 3.1.0-63.0.dev
dart 2.dart 678ms 10ms 15.1MB 657ms 3ms dart/exe 2.19.6
python 1.py 2726ms 8.2ms 9.0MB 2710ms 0ms pyston 3.8.12
dart 1.dart 3140ms 6.3ms 8.4MB 3123ms 3ms dart/exe 3.1.0-63.0.dev
python 2.py 3173ms 4.4ms 8.7MB 3160ms 0ms pyston 3.8.12
dart 1.dart 3182ms 6.6ms 14.9MB 3160ms 7ms dart/exe 2.19.6
python 1.py 3748ms 29ms 9.2MB 3733ms 0ms cpython 3.11.3
python 2.py 4262ms 61ms 9.1MB 4247ms 0ms cpython 3.11.3

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 103ms 1.5ms 8.5MB 90ms 0ms dart/exe 3.1.0-63.0.dev
dart 2.dart 112ms 2.4ms 14.8MB 93ms 0ms dart/exe 2.19.6
python 2.py 162ms 0.5ms 71.2MB 130ms 13ms pypy 3.9.16
dart 1.dart 177ms 2.8ms 9.2MB 160ms 0ms dart/exe 3.1.0-63.0.dev
dart 1.dart 181ms 2.3ms 17.0MB 167ms 3ms dart/exe 2.19.6
python 1.py 181ms 1.1ms 72.4MB 140ms 23ms pypy 3.9.16
python 1.py 444ms 1.3ms 8.8MB 430ms 0ms pyston 3.8.12
python 2.py 506ms 6.4ms 8.3MB 490ms 0ms pyston 3.8.12
python 1.py 598ms 1.3ms 8.7MB 583ms 0ms cpython 3.11.3
python 2.py 712ms 6.9ms 8.4MB 697ms 0ms cpython 3.11.3

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 611ms 6.7ms 62.9MB 587ms 27ms dart/exe 3.1.0-63.0.dev
dart 1.dart 624ms 5.7ms 70.8MB 590ms 27ms dart/exe 2.19.6
python 1.py 2892ms 160ms 230.4MB 2713ms 160ms pypy 3.9.16
python 1.py timeout 0.0ms 92.9MB 4940ms 40ms cpython 3.11.3
python 1.py timeout 0.0ms 130.3MB 4920ms 53ms pyston 3.8.12

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 146ms 2.8ms 48.7MB 117ms 13ms dart/exe 2.19.6
dart 1.dart 152ms 3.7ms 43.2MB 113ms 20ms dart/exe 3.1.0-63.0.dev
python 1.py 423ms 11ms 149.9MB 360ms 47ms pypy 3.9.16
python 1.py timeout 0.0ms 37.1MB 4977ms 7ms cpython 3.11.3
python 1.py timeout 0.0ms 41.4MB 4960ms 17ms pyston 3.8.12

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3.dart 592ms 2.0ms 5.8MB 577ms 0ms dart/exe 3.1.0-63.0.dev
dart 3.dart 612ms 15ms 14.0MB 593ms 0ms dart/exe 2.19.6
python 2.py 2132ms 23ms 71.3MB 2103ms 10ms pypy 3.9.16
python 1.py 3664ms 19ms 70.4MB 3623ms 23ms pypy 3.9.16
python 1.py timeout 0.0ms 8.4MB 4987ms 0ms cpython 3.11.3
python 2.py timeout 0.0ms 8.6MB 4983ms 0ms cpython 3.11.3
python 1.py timeout 0.0ms 8.3MB 4987ms 0ms pyston 3.8.12
python 2.py timeout 0.0ms 7.9MB 4980ms 0ms pyston 3.8.12

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3.dart 69ms 3.5ms 5.9MB 57ms 0ms dart/exe 3.1.0-63.0.dev
python 2.py 279ms 3.4ms 71.2MB 253ms 10ms pypy 3.9.16
python 1.py 425ms 14ms 70.4MB 390ms 17ms pypy 3.9.16
dart 3.dart 1073ms 2.3ms 13.5MB 60ms 0ms dart/exe 2.19.6
python 1.py 1156ms 2.0ms 8.4MB 1137ms 3ms pyston 3.8.12
python 2.py 1597ms 31ms 7.9MB 1577ms 3ms pyston 3.8.12
python 1.py 3179ms 60ms 8.4MB 3167ms 3ms cpython 3.11.3
python 2.py 3574ms 7.6ms 8.6MB 3557ms 0ms cpython 3.11.3

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py timeout 0.0ms 321.0MB 4897ms 80ms cpython 3.11.3
python 2.py timeout 0.0ms 633.5MB 4677ms 307ms cpython 3.11.3
python 1.py timeout 0.0ms 382.8MB 4850ms 133ms pypy 3.9.16
python 2.py timeout 0.0ms 991.9MB 4623ms 360ms pypy 3.9.16
python 1.py timeout 0.0ms 320.4MB 4903ms 80ms pyston 3.8.12
python 2.py timeout 0.0ms 633.3MB 4557ms 423ms pyston 3.8.12

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 1331ms 14ms 207.2MB 1257ms 60ms pypy 3.9.16
python 2.py 1563ms 21ms 164.4MB 1463ms 83ms pyston 3.8.12
python 2.py 2088ms 6.3ms 164.9MB 1990ms 83ms cpython 3.11.3
python 2.py 2161ms 4.7ms 210.5MB 2013ms 133ms pypy 3.9.16
python 1.py 3370ms 74ms 86.0MB 3313ms 37ms pyston 3.8.12
python 1.py 4719ms 66ms 86.6MB 4660ms 40ms cpython 3.11.3

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 1714ms 20ms 14.7MB 1653ms 53ms dart/exe 3.1.0-63.0.dev
dart 2.dart 1776ms 7.4ms 20.7MB 1720ms 40ms dart/exe 2.19.6
python 4.py 2411ms 1.3ms 9.1MB 2383ms 10ms pyston 3.8.12
python 4.py 2548ms 1.1ms 9.4MB 2503ms 27ms cpython 3.11.3
python 4.py 2622ms 44ms 125.4MB 2547ms 57ms pypy 3.9.16

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 428ms 5.0ms 14.2MB 387ms 20ms dart/exe 3.1.0-63.0.dev
dart 2.dart 445ms 5.5ms 20.2MB 403ms 17ms dart/exe 2.19.6
python 4.py 576ms 0.8ms 8.8MB 560ms 0ms pyston 3.8.12
python 4.py 607ms 0.3ms 9.1MB 593ms 0ms cpython 3.11.3
python 4.py 672ms 6.8ms 77.0MB 640ms 17ms pypy 3.9.16

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 3388ms 38ms 273.2MB 3253ms 117ms pypy 3.9.16
dart 1.dart timeout 0.0ms 158.6MB 4923ms 47ms dart/exe 2.19.6
dart 1.dart timeout 0.0ms 161.3MB 4923ms 60ms dart/exe 3.1.0-63.0.dev
python 1.py timeout 0.0ms 108.2MB 4930ms 57ms cpython 3.11.3
python 1.py timeout 0.0ms 107.6MB 4930ms 53ms pyston 3.8.12

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 475ms 3.2ms 94.3MB 430ms 27ms pypy 3.9.16
dart 1.dart 696ms 4.2ms 47.8MB 650ms 27ms dart/exe 3.1.0-63.0.dev
dart 1.dart 708ms 0.7ms 56.3MB 673ms 23ms dart/exe 2.19.6
python 1.py 774ms 1.5ms 30.6MB 743ms 13ms pyston 3.8.12
python 1.py 821ms 4.6ms 31.9MB 783ms 23ms cpython 3.11.3

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 4417ms 4.1ms 8.5MB 4400ms 0ms pyston 3.8.12
python 1.py 4746ms 16ms 8.4MB 4730ms 0ms cpython 3.11.3
python 1.py timeout 0.0ms 78.0MB 4953ms 23ms pypy 3.9.16

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
python 1.py 1117ms 0.5ms 8.4MB 1103ms 0ms pyston 3.8.12
python 1.py 1201ms 7.0ms 8.5MB 1187ms 0ms cpython 3.11.3
python 1.py 1610ms 16ms 75.2MB 1573ms 23ms pypy 3.9.16

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 4795ms 3.3ms 5.8MB 4783ms 0ms dart/exe 3.1.0-63.0.dev
dart 1.dart timeout 0.0ms 11.6MB 4987ms 0ms dart/exe 2.19.6
python 8.py timeout 0.0ms 16.3MB 50ms 10ms cpython 3.11.3
python 8.py timeout 0.0ms 99.0MB 657ms 100ms pypy 3.9.16
python 8.py timeout 0.0ms 16.3MB 70ms 20ms pyston 3.8.12

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 1208ms 2.7ms 5.7MB 1193ms 0ms dart/exe 3.1.0-63.0.dev
dart 1.dart 1405ms 1.9ms 11.9MB 1390ms 0ms dart/exe 2.19.6
python 8.py timeout 0.0ms 16.2MB 97ms 17ms cpython 3.11.3
python 8.py timeout 0.0ms 102.4MB 1130ms 193ms pypy 3.9.16
python 8.py timeout 0.0ms 17.6MB 167ms 27ms pyston 3.8.12

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 308ms 1.8ms 5.8MB 293ms 0ms dart/exe 3.1.0-63.0.dev
dart 1.dart 361ms 2.1ms 13.8MB 343ms 0ms dart/exe 2.19.6
python 8-m.py 4105ms 62ms 103.1MB 7120ms 430ms pypy 3.9.16
python 8.py timeout 0.0ms 15.9MB 230ms 23ms cpython 3.11.3
python 8.py timeout 0.0ms 16.7MB 310ms 70ms pyston 3.8.12