Dart VS Javascript benchmarks

Current benchmark data was generated on Mon Mar 31 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 694ms 4.4ms 80.7MB 657ms 40ms dart/exe 3.7.2
javascript 1-m.js 1005ms 34ms 179.3MB 1543ms 267ms bun 1.2.7
javascript 1-m.js 1224ms 3.5ms 250.8MB 2130ms 153ms node 23.10.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 74ms 0.1ms 42.6MB 50ms 17ms dart/exe 3.7.2
javascript 1.js 100ms 0.5ms 79.1MB 73ms 27ms bun 1.2.7
javascript 1.js 126ms 0.7ms 78.8MB 130ms 23ms node 23.10.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 1662ms 72ms 90.2MB 1733ms 57ms node 23.10.0
dart 1-m.dart 1665ms 2884ms 19.1MB 5463ms 67ms dart/exe 3.7.2
javascript 1.js 2500ms 20ms 101.3MB 2520ms 70ms bun 1.2.7

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 158ms 4.4ms 72.7MB 143ms 27ms node 23.10.0
javascript 1.js 199ms 0.9ms 88.4MB 220ms 33ms bun 1.2.7
dart 1.dart 347ms 4.8ms 10.5MB 347ms 10ms dart/exe 3.7.2

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 285ms 4.3ms 63.7MB 300ms 27ms node 23.10.0
javascript 1.js 526ms 4.8ms 78.0MB 497ms 20ms bun 1.2.7
dart 1.dart 3684ms 4.5ms 18.0MB 3650ms 30ms dart/exe 3.7.2

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 144ms 12ms 62.0MB 160ms 20ms node 23.10.0
javascript 1.js 500ms 3.9ms 67.7MB 470ms 23ms bun 1.2.7
dart 1.dart 598ms 3.5ms 10.0MB 577ms 10ms 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 2741ms 18ms 6.3MB 2730ms 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 222ms 1.7ms 6.3MB 210ms 0ms dart/exe 3.7.2

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 360ms 2.9ms 8.6MB 350ms 0ms dart/exe 3.7.2

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 42ms 0.3ms 8.6MB 30ms 0ms dart/exe 3.7.2

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 3.8ms 0.3ms 5.3MB 0ms 0ms dart/exe 3.7.2
javascript 1.js 13ms 0.3ms 33.3MB 0ms 0ms bun 1.2.7
javascript 1.js 31ms 0.3ms 47.9MB 18ms 2ms node 23.10.0

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1-m.bun.js 330ms 13ms 76.0MB 143ms 420ms bun 1.2.7
dart 2-m.dart 1395ms 29ms 95.6MB 1307ms 1560ms dart/exe 3.7.2
javascript 1.js 2961ms 150ms 188.6MB 2830ms 1410ms node 23.10.0
dart 1.dart 4512ms 421ms 95.6MB 1510ms 1877ms dart/exe 3.7.2

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.bun.js 108ms 7.0ms 55.8MB 30ms 87ms bun 1.2.7
dart 2-m.dart 263ms 8.2ms 50.0MB 173ms 297ms dart/exe 3.7.2
javascript 1.js 362ms 2.6ms 79.9MB 350ms 113ms node 23.10.0
dart 1.dart 1960ms 614ms 50.5MB 170ms 270ms dart/exe 3.7.2

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 81ms 7.1ms 70.9MB 50ms 20ms bun 1.2.7
javascript 1.js 109ms 1.2ms 75.7MB 97ms 17ms node 23.10.0
dart 1.dart 164ms 1.6ms 53.4MB 140ms 13ms dart/exe 3.7.2

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 412ms 4.6ms 268.3MB 340ms 117ms bun 1.2.7
javascript 1.js 690ms 2.7ms 200.9MB 803ms 80ms node 23.10.0
dart 1.dart 1505ms 18ms 206.4MB 1730ms 110ms 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 1118ms 24ms 274.4MB 3333ms 110ms 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 201ms 4.8ms 186.6MB 523ms 47ms dart/exe 3.7.2

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 170ms 1.9ms 9.4MB 160ms 0ms dart/exe 3.7.2
javascript 2.js 310ms 0.4ms 63.1MB 297ms 20ms node 23.10.0
dart 1.dart 492ms 1.7ms 9.1MB 480ms 0ms dart/exe 3.7.2
javascript 1.js 553ms 2.0ms 60.8MB 540ms 10ms node 23.10.0
javascript 2.js 653ms 5.3ms 123.0MB 710ms 60ms bun 1.2.7
javascript 1.js 821ms 7.2ms 107.4MB 903ms 77ms bun 1.2.7

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 484ms 3.7ms 9.3MB 470ms 0ms dart/exe 3.7.2
javascript 2.js 850ms 1.6ms 68.3MB 837ms 20ms node 23.10.0
dart 1.dart 1462ms 8.8ms 9.3MB 1447ms 3ms dart/exe 3.7.2
javascript 1.js 1586ms 4.8ms 67.9MB 1570ms 13ms node 23.10.0
javascript 2.js 1819ms 7.8ms 123.2MB 1987ms 67ms bun 1.2.7
javascript 1.js 2374ms 11ms 111.6MB 2680ms 147ms bun 1.2.7

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 77ms 1.6ms 8.9MB 70ms 0ms dart/exe 3.7.2
dart 1.dart 110ms 0.5ms 8.8MB 100ms 0ms dart/exe 3.7.2
javascript 1.js 162ms 0.8ms 58.0MB 147ms 13ms node 23.10.0
javascript 2.js 166ms 0.3ms 56.7MB 160ms 10ms node 23.10.0
javascript 1.js 315ms 2.8ms 115.1MB 343ms 80ms bun 1.2.7
javascript 2.js 357ms 1.7ms 126.5MB 370ms 57ms bun 1.2.7

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 325ms 2.6ms 63.8MB 300ms 27ms dart/exe 3.7.2
javascript 1-m.js 479ms 7.3ms 152.6MB 623ms 137ms bun 1.2.7
javascript 1.js 530ms 2.1ms 130.6MB 613ms 57ms node 23.10.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 84ms 0.4ms 43.8MB 60ms 13ms dart/exe 3.7.2
javascript 1.js 116ms 2.3ms 88.1MB 103ms 33ms bun 1.2.7
javascript 1.js 160ms 2.0ms 98.4MB 163ms 33ms node 23.10.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3.dart 408ms 3.7ms 6.1MB 400ms 0ms dart/exe 3.7.2
javascript 6.js 458ms 4.1ms 55.9MB 447ms 10ms node 23.10.0
javascript 6.js 780ms 18ms 46.1MB 773ms 0ms bun 1.2.7

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3.dart 45ms 0.2ms 6.4MB 33ms 0ms dart/exe 3.7.2
javascript 6.js 79ms 1.0ms 56.2MB 67ms 10ms node 23.10.0
javascript 6.js 98ms 1.2ms 46.3MB 93ms 7ms bun 1.2.7

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 1354ms 5.1ms 14.8MB 1330ms 33ms dart/exe 3.7.2
javascript 3.js timeout 0.0ms 87.9MB 4983ms 27ms node 23.10.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 343ms 7.4ms 14.8MB 327ms 10ms dart/exe 3.7.2
javascript 3.js 1099ms 2.6ms 70.8MB 1080ms 17ms node 23.10.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 188.2MB 4983ms 50ms dart/exe 3.7.2

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 570ms 22ms 43.2MB 550ms 10ms dart/exe 3.7.2

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 2181ms 15ms 114.1MB 8247ms 60ms node 23.10.0
dart 1.dart 3773ms 14ms 6.4MB 3763ms 0ms dart/exe 3.7.2
dart 2.dart 4338ms 5.9ms 6.4MB 4327ms 0ms dart/exe 3.7.2

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 656ms 7.6ms 113.5MB 2320ms 53ms node 23.10.0
dart 1.dart 944ms 2.2ms 6.3MB 930ms 0ms dart/exe 3.7.2
dart 2.dart 1088ms 11ms 6.1MB 1080ms 0ms dart/exe 3.7.2

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 241ms 2.5ms 6.3MB 230ms 0ms dart/exe 3.7.2
javascript 6-m.js 266ms 1.5ms 109.7MB 813ms 50ms node 23.10.0
dart 2.dart 285ms 8.1ms 6.3MB 273ms 0ms dart/exe 3.7.2