Dart VS Nim benchmarks

Current benchmark data was generated on Tue Apr 01 2025, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][4 cores] AMD EPYC 7763 64-Core Processor (Model 1)

* -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 746ms 1.9ms 80.9MB 717ms 37ms dart/exe 3.7.2
nim 2.nim 911ms 3.9ms 34.6MB 893ms 0ms nim 2.2.2
nim 2.nim 1032ms 45ms 34.9MB 1017ms 0ms nim/clang 2.2.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 77ms 0.9ms 42.9MB 50ms 17ms dart/exe 3.7.2
nim 2.nim 88ms 2.3ms 5.5MB 80ms 0ms nim 2.2.2
nim 2.nim 93ms 2.6ms 5.8MB 80ms 0ms nim/clang 2.2.2

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 4958ms 24ms 19.3MB 5457ms 93ms dart/exe 3.7.2
nim 1.nim timeout 0.0ms 551.4MB 2497ms 2040ms nim 2.2.2
nim 1.nim timeout 0.0ms 559.8MB 2490ms 2047ms nim/clang 2.2.2

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 338ms 5.0ms 10.4MB 347ms 10ms dart/exe 3.7.2
nim 1.nim 4356ms 55ms 519.8MB 2120ms 1803ms nim/clang 2.2.2
nim 1.nim 4452ms 76ms 519.4MB 2183ms 1837ms nim 2.2.2

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 3785ms 82ms 18.3MB 3750ms 40ms dart/exe 3.7.2

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 609ms 3.4ms 10.3MB 587ms 17ms dart/exe 3.7.2

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 2718ms 16ms 6.3MB 2710ms 0ms dart/exe 3.7.2

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 224ms 3.1ms 6.3MB 213ms 0ms dart/exe 3.7.2

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 187ms 0.9ms 1.5MB 177ms 0ms nim 2.2.2
nim 2.nim 238ms 0.7ms 1.8MB 227ms 0ms nim/clang 2.2.2
dart 1.dart 368ms 16ms 8.9MB 357ms 0ms dart/exe 3.7.2
nim 1.nim 556ms 1.1ms 1.8MB 447ms 93ms nim/clang 2.2.2
nim 1.nim 579ms 0.3ms 1.5MB 467ms 97ms nim 2.2.2

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 22ms 0.4ms 1.5MB 13ms 0ms nim 2.2.2
nim 2.nim 26ms 0.4ms 1.8MB 20ms 0ms nim/clang 2.2.2
dart 1.dart 47ms 7.3ms 8.6MB 33ms 0ms dart/exe 3.7.2
nim 1.nim 58ms 0.2ms 1.8MB 40ms 7ms nim/clang 2.2.2
nim 1.nim 62ms 1.0ms 1.5MB 43ms 7ms nim 2.2.2

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 1.0ms 0.1ms 1.6MB 0ms 0ms nim 2.2.2
nim 1.nim 1.2ms 0.0ms 1.9MB 0ms 0ms nim/clang 2.2.2
dart 1.dart 3.7ms 0.4ms 6.3MB 0ms 0ms dart/exe 3.7.2

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2-m.dart 1437ms 40ms 95.8MB 1333ms 1600ms dart/exe 3.7.2
dart 1.dart 4553ms 55ms 97.5MB 1577ms 1797ms dart/exe 3.7.2

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2-m.dart 263ms 12ms 50.0MB 177ms 300ms dart/exe 3.7.2
dart 1.dart 2004ms 495ms 50.1MB 170ms 260ms dart/exe 3.7.2

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 164ms 1.9ms 53.3MB 137ms 17ms dart/exe 3.7.2

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 1495ms 22ms 206.0MB 1753ms 107ms dart/exe 3.7.2

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3-m.dart 1186ms 78ms 274.5MB 3443ms 107ms dart/exe 3.7.2

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3-m.dart 207ms 2.8ms 187.3MB 523ms 60ms dart/exe 3.7.2

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 111ms 1.8ms 1.4MB 103ms 0ms nim 2.2.2
nim 2.nim 112ms 0.9ms 1.6MB 100ms 0ms nim/clang 2.2.2
dart 2.dart 168ms 1.3ms 9.3MB 160ms 0ms dart/exe 3.7.2
dart 1.dart 493ms 1.9ms 9.1MB 480ms 0ms dart/exe 3.7.2
nim 1.nim timeout 0.0ms 1.3MB 4990ms 0ms nim 2.2.2
nim 1.nim timeout 0.0ms 1.5MB 4990ms 0ms nim/clang 2.2.2

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 328ms 2.7ms 1.6MB 317ms 0ms nim/clang 2.2.2
nim 2.nim 331ms 1.6ms 1.4MB 320ms 0ms nim 2.2.2
dart 2.dart 482ms 3.7ms 9.1MB 473ms 0ms dart/exe 3.7.2
dart 1.dart 1452ms 7.2ms 9.3MB 1433ms 7ms dart/exe 3.7.2
nim 1.nim timeout 0.0ms 1.3MB 4990ms 0ms nim 2.2.2
nim 1.nim timeout 0.0ms 1.5MB 4990ms 0ms nim/clang 2.2.2

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 49ms 0.9ms 1.6MB 40ms 0ms nim/clang 2.2.2
nim 2.nim 50ms 0.3ms 1.3MB 40ms 0ms nim 2.2.2
dart 2.dart 80ms 0.7ms 9.5MB 70ms 0ms dart/exe 3.7.2
dart 1.dart 113ms 2.1ms 8.8MB 103ms 0ms dart/exe 3.7.2
nim 1.nim 442ms 4.2ms 1.8MB 433ms 0ms nim/clang 2.2.2
nim 1.nim 486ms 4.9ms 1.3MB 477ms 0ms nim 2.2.2

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 317ms 5.5ms 63.9MB 290ms 27ms dart/exe 3.7.2
nim 1.nim 526ms 2.3ms 34.6MB 510ms 3ms nim 2.2.2
nim 1.nim 651ms 20ms 35.0MB 633ms 3ms nim/clang 2.2.2

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 85ms 0.9ms 43.8MB 60ms 10ms dart/exe 3.7.2
nim 1.nim 115ms 1.7ms 9.6MB 103ms 0ms nim 2.2.2
nim 1.nim 135ms 1.5ms 9.9MB 120ms 0ms nim/clang 2.2.2

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 321ms 1.3ms 1.8MB 310ms 0ms nim 2.2.2
nim 2.nim 342ms 1.8ms 2.0MB 333ms 0ms nim/clang 2.2.2
dart 3.dart 408ms 2.1ms 6.1MB 397ms 0ms dart/exe 3.7.2

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 34ms 0.6ms 1.8MB 30ms 0ms nim 2.2.2
nim 2.nim 38ms 0.7ms 2.0MB 30ms 0ms nim/clang 2.2.2
dart 3.dart 47ms 0.5ms 6.3MB 40ms 0ms dart/exe 3.7.2

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 1344ms 9.8ms 14.9MB 1310ms 30ms dart/exe 3.7.2

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 337ms 6.1ms 14.6MB 320ms 10ms dart/exe 3.7.2

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 1632ms 7.3ms 164.3MB 1600ms 23ms nim/clang 2.2.2
nim 1.nim 1694ms 5.0ms 163.8MB 1663ms 20ms nim 2.2.2
dart 1.dart timeout 0.0ms 188.3MB 4987ms 47ms dart/exe 3.7.2

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 173ms 1.4ms 20.9MB 157ms 3ms nim/clang 2.2.2
nim 1.nim 176ms 0.9ms 20.6MB 160ms 0ms nim 2.2.2
dart 1.dart 566ms 4.3ms 43.2MB 550ms 7ms dart/exe 3.7.2

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 3591ms 2.6ms 1.6MB 3580ms 0ms nim/clang 2.2.2
nim 1.nim 3601ms 1.6ms 1.4MB 3590ms 0ms nim 2.2.2
dart 1.dart 3771ms 9.4ms 6.5MB 3760ms 0ms dart/exe 3.7.2
dart 2.dart 4352ms 14ms 6.4MB 4343ms 0ms dart/exe 3.7.2

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 901ms 1.4ms 1.8MB 890ms 0ms nim 2.2.2
nim 1.nim 905ms 9.6ms 1.5MB 897ms 0ms nim/clang 2.2.2
dart 1.dart 945ms 2.3ms 6.3MB 937ms 0ms dart/exe 3.7.2
dart 2.dart 1096ms 6.4ms 6.1MB 1087ms 0ms dart/exe 3.7.2

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 227ms 0.3ms 1.5MB 220ms 0ms nim/clang 2.2.2
nim 1.nim 229ms 1.8ms 1.3MB 220ms 0ms nim 2.2.2
dart 1.dart 241ms 0.7ms 6.3MB 230ms 0ms dart/exe 3.7.2
dart 2.dart 282ms 1.1ms 6.2MB 270ms 0ms dart/exe 3.7.2