Dart VS Javascript benchmarks

Current benchmark data was generated on Mon Feb 06 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 1234ms 8.4ms 86.2MB 1207ms 33ms dart/exe 2.19.1
dart 1.dart 1267ms 28ms 88.1MB 1227ms 43ms dart/exe 3.0.0-187.0.dev
javascript 1.js 1382ms 24ms 246.2MB 1707ms 77ms bun 0.5.5
javascript 1.js 4218ms 18ms 257.4MB 2980ms 1550ms node 19.6.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 113ms 2.2ms 47.9MB 80ms 23ms dart/exe 2.19.1
dart 1.dart 117ms 2.7ms 47.5MB 93ms 17ms dart/exe 3.0.0-187.0.dev
javascript 1.js 132ms 3.3ms 99.7MB 107ms 23ms bun 0.5.5
javascript 1.js 199ms 4.6ms 70.3MB 180ms 20ms node 19.6.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 2458ms 24ms 80.6MB 2493ms 50ms node 19.6.0
javascript 1.js 3544ms 56ms 112.7MB 3520ms 40ms bun 0.5.5
dart 1.dart timeout 0.0ms 24.4MB 4910ms 73ms dart/exe 2.19.1
dart 1.dart timeout 0.0ms 26.0MB 4907ms 73ms dart/exe 3.0.0-187.0.dev

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 219ms 2.1ms 62.2MB 200ms 13ms node 19.6.0
javascript 1.js 251ms 1.7ms 104.5MB 257ms 20ms bun 0.5.5
dart 1.dart 557ms 1.1ms 15.8MB 523ms 20ms dart/exe 2.19.1
dart 1.dart 576ms 5.7ms 16.0MB 550ms 10ms dart/exe 3.0.0-187.0.dev

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 381ms 0.2ms 97.6MB 363ms 17ms bun 0.5.5
javascript 1.js 407ms 2.9ms 59.4MB 400ms 20ms node 19.6.0
dart 1.dart timeout 0.0ms 22.2MB 4967ms 13ms dart/exe 2.19.1
dart 1.dart timeout 0.0ms 21.6MB 4980ms 10ms dart/exe 3.0.0-187.0.dev

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 186ms 4.5ms 51.9MB 197ms 7ms node 19.6.0
javascript 1.js 773ms 2.3ms 89.2MB 747ms 23ms bun 0.5.5
dart 1.dart 1738ms 0.8ms 16.0MB 1707ms 23ms dart/exe 2.19.1
dart 1.dart 1746ms 3.0ms 15.4MB 1713ms 27ms dart/exe 3.0.0-187.0.dev

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 4275ms 2.1ms 13.6MB 4263ms 0ms dart/exe 2.19.1
dart 2.dart 4701ms 1.9ms 13.9MB 4683ms 0ms dart/exe 3.0.0-187.0.dev

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 347ms 1.2ms 12.1MB 330ms 0ms dart/exe 2.19.1
dart 2.dart 380ms 1.0ms 12.0MB 363ms 0ms dart/exe 3.0.0-187.0.dev

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 485ms 0.5ms 14.7MB 470ms 0ms dart/exe 3.0.0-187.0.dev
dart 1.dart 524ms 1.4ms 14.1MB 503ms 0ms dart/exe 2.19.1

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 60ms 0.5ms 14.9MB 47ms 0ms dart/exe 3.0.0-187.0.dev
dart 1.dart 65ms 1.6ms 16.4MB 50ms 0ms dart/exe 2.19.1

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 8.0ms 0.2ms 11.4MB 0ms 0ms dart/exe 3.0.0-187.0.dev
javascript 1.js 17ms 0.7ms 50.3MB 0ms 10ms bun 0.5.5
javascript 1.js 44ms 1.3ms 42.7MB 28ms 4ms node 19.6.0
dart 1.dart 608ms 548ms 12.1MB 0ms 0ms dart/exe 2.19.1

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.bun.js 147ms 1.3ms 87.5MB 80ms 70ms bun 0.5.5
dart 2.dart 1808ms 68ms 116.8MB 1090ms 810ms dart/exe 3.0.0-187.0.dev
dart 2.dart 1852ms 447ms 118.6MB 1057ms 823ms dart/exe 2.19.1
javascript 1.js 2127ms 1938ms 161.5MB 1243ms 270ms node 19.6.0
dart 1.dart 3799ms 82ms 114.6MB 1190ms 687ms dart/exe 3.0.0-187.0.dev
dart 1.dart 3829ms 50ms 107.7MB 1100ms 623ms dart/exe 2.19.1

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.bun.js 90ms 3.5ms 76.4MB 27ms 27ms bun 0.5.5
dart 2.dart 264ms 9.5ms 55.0MB 183ms 143ms dart/exe 2.19.1
dart 2.dart 295ms 5.7ms 56.6MB 193ms 140ms dart/exe 3.0.0-187.0.dev
javascript 1.js 389ms 4.5ms 69.6MB 363ms 97ms node 19.6.0
dart 1.dart 1492ms 130ms 55.6MB 177ms 107ms dart/exe 2.19.1
dart 1.dart 1679ms 308ms 55.7MB 170ms 130ms dart/exe 3.0.0-187.0.dev

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 139ms 3.9ms 90.9MB 100ms 23ms bun 0.5.5
javascript 1.js 177ms 0.7ms 74.4MB 153ms 20ms node 19.6.0
dart 1.dart 298ms 2.6ms 58.8MB 270ms 17ms dart/exe 2.19.1
dart 1.dart 304ms 5.1ms 59.1MB 273ms 17ms dart/exe 3.0.0-187.0.dev

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 789ms 1.5ms 249.2MB 753ms 63ms bun 0.5.5
javascript 1.js 1198ms 7.4ms 282.5MB 1133ms 150ms node 19.6.0
dart 1.dart 2233ms 7.1ms 300.2MB 2287ms 130ms dart/exe 2.19.1
dart 1.dart 2312ms 3.3ms 300.6MB 2360ms 130ms dart/exe 3.0.0-187.0.dev

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3-m.dart 2759ms 53ms 254.5MB 4833ms 117ms dart/exe 2.19.1
dart 3-m.dart 4006ms 128ms 283.8MB 7067ms 117ms dart/exe 3.0.0-187.0.dev

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3-m.dart 446ms 13ms 198.6MB 680ms 83ms dart/exe 2.19.1
dart 3-m.dart 566ms 15ms 200.6MB 913ms 77ms dart/exe 3.0.0-187.0.dev

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 236ms 1.7ms 15.3MB 223ms 0ms dart/exe 3.0.0-187.0.dev
dart 2.dart 237ms 1.2ms 17.0MB 213ms 7ms dart/exe 2.19.1
javascript 2.js 367ms 2.4ms 54.8MB 353ms 7ms node 19.6.0
javascript 1.js 626ms 8.5ms 148.8MB 620ms 27ms bun 0.5.5
javascript 2.js 675ms 4.0ms 111.2MB 683ms 20ms bun 0.5.5
javascript 1.js 1009ms 2.2ms 62.1MB 990ms 10ms node 19.6.0
dart 1.dart 1064ms 2.3ms 14.7MB 1040ms 10ms dart/exe 2.19.1
dart 1.dart 1077ms 0.2ms 16.5MB 1053ms 7ms dart/exe 3.0.0-187.0.dev

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 678ms 1.6ms 16.8MB 657ms 3ms dart/exe 3.0.0-187.0.dev
dart 2.dart 683ms 13ms 14.2MB 663ms 3ms dart/exe 2.19.1
javascript 2.js 974ms 4.7ms 62.1MB 950ms 17ms node 19.6.0
javascript 1.js 1782ms 8.6ms 167.2MB 1803ms 47ms bun 0.5.5
javascript 2.js 1934ms 18ms 119.7MB 1930ms 30ms bun 0.5.5
javascript 1.js 2888ms 5.9ms 62.0MB 2860ms 20ms node 19.6.0
dart 1.dart 3168ms 4.6ms 16.4MB 3147ms 7ms dart/exe 2.19.1
dart 1.dart 3209ms 4.6ms 14.7MB 3193ms 7ms dart/exe 3.0.0-187.0.dev

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 111ms 1.9ms 14.8MB 93ms 0ms dart/exe 2.19.1
dart 2.dart 113ms 2.6ms 14.7MB 93ms 7ms dart/exe 3.0.0-187.0.dev
dart 1.dart 183ms 2.2ms 14.9MB 163ms 0ms dart/exe 2.19.1
dart 1.dart 187ms 2.7ms 16.3MB 170ms 3ms dart/exe 3.0.0-187.0.dev
javascript 2.js 202ms 3.3ms 49.4MB 187ms 10ms node 19.6.0
javascript 1.js 323ms 3.1ms 118.5MB 307ms 23ms bun 0.5.5
javascript 2.js 367ms 1.1ms 107.2MB 373ms 23ms bun 0.5.5
javascript 1.js 391ms 2.7ms 50.4MB 373ms 7ms node 19.6.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 533ms 7.8ms 68.6MB 510ms 20ms dart/exe 2.19.1
dart 1.dart 612ms 5.3ms 70.8MB 590ms 27ms dart/exe 3.0.0-187.0.dev
javascript 1.js 829ms 3.5ms 151.0MB 913ms 43ms bun 0.5.5
javascript 1.js 958ms 10ms 122.6MB 987ms 53ms node 19.6.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 134ms 3.3ms 48.7MB 103ms 20ms dart/exe 2.19.1
dart 1.dart 145ms 1.2ms 48.7MB 113ms 20ms dart/exe 3.0.0-187.0.dev
javascript 1.js 191ms 2.1ms 108.8MB 173ms 17ms bun 0.5.5
javascript 1.js 268ms 2.1ms 90.5MB 250ms 30ms node 19.6.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3.dart 620ms 1.1ms 13.8MB 603ms 0ms dart/exe 3.0.0-187.0.dev
dart 3.dart 621ms 2.4ms 13.6MB 603ms 0ms dart/exe 2.19.1
javascript 6.js 690ms 0.8ms 47.8MB 673ms 10ms node 19.6.0
javascript 6.js 1031ms 11ms 70.5MB 1017ms 13ms bun 0.5.5

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3.dart 72ms 1.9ms 12.0MB 60ms 0ms dart/exe 2.19.1
dart 3.dart 75ms 0.9ms 11.6MB 57ms 0ms dart/exe 3.0.0-187.0.dev
javascript 6.js 116ms 1.6ms 48.3MB 103ms 3ms node 19.6.0
javascript 6.js 125ms 1.1ms 67.1MB 110ms 13ms bun 0.5.5

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 1796ms 33ms 22.4MB 1740ms 43ms dart/exe 2.19.1
dart 2.dart 1835ms 18ms 22.1MB 1777ms 43ms dart/exe 3.0.0-187.0.dev
javascript 3.js timeout 0.0ms 79.3MB 4980ms 27ms node 19.6.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 416ms 5.5ms 20.6MB 377ms 20ms dart/exe 3.0.0-187.0.dev
dart 2.dart 445ms 0.8ms 22.2MB 403ms 23ms dart/exe 2.19.1
javascript 3.js 1595ms 5.1ms 62.9MB 1583ms 20ms node 19.6.0

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart timeout 0.0ms 162.2MB 4923ms 57ms dart/exe 2.19.1
dart 1.dart timeout 0.0ms 156.0MB 4923ms 53ms dart/exe 3.0.0-187.0.dev

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 702ms 1.5ms 55.9MB 667ms 20ms dart/exe 3.0.0-187.0.dev
dart 1.dart 709ms 1.6ms 53.6MB 677ms 20ms dart/exe 2.19.1

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 2799ms 6.7ms 74.5MB 5250ms 23ms node 19.6.0
dart 1.dart 4806ms 5.2ms 11.6MB 4790ms 0ms dart/exe 3.0.0-187.0.dev
dart 1.dart timeout 0.0ms 11.4MB 4980ms 0ms dart/exe 2.19.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 850ms 17ms 69.1MB 1493ms 27ms node 19.6.0
dart 1.dart 1207ms 2.7ms 13.8MB 1193ms 0ms dart/exe 3.0.0-187.0.dev
dart 1.dart 1407ms 1.5ms 14.2MB 1390ms 0ms dart/exe 2.19.1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 312ms 2.6ms 14.0MB 297ms 3ms dart/exe 3.0.0-187.0.dev
dart 1.dart 362ms 3.3ms 13.8MB 340ms 0ms dart/exe 2.19.1
javascript 6.js 416ms 8.1ms 67.4MB 547ms 23ms node 19.6.0