C# VS Dart benchmarks

Current benchmark data was generated on Sat Mar 29 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 710ms 1.2ms 80.8MB 680ms 37ms dart/exe 3.7.2
csharp 1.cs 936ms 4.1ms 186.8MB 927ms 150ms dotnet 9.0.202
csharp 1.cs 1043ms 56ms 186.1MB 1020ms 140ms dotnet/aot 9.0.202
csharp 1.cs 1768ms 82ms 102.0MB 1990ms 220ms mono 6.12.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 76ms 0.7ms 42.8MB 50ms 13ms dart/exe 3.7.2
csharp 1.cs 121ms 1.8ms 32.6MB 83ms 33ms dotnet/aot 9.0.202
csharp 1.cs 152ms 5.0ms 44.1MB 130ms 13ms mono 6.12.0
csharp 1.cs 204ms 10ms 53.0MB 160ms 40ms dotnet 9.0.202

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1-m.cs 2184ms 61ms 51.4MB 7633ms 77ms dotnet/aot 9.0.202
csharp 1-m.cs 2802ms 47ms 74.2MB 9787ms 97ms dotnet 9.0.202
dart 1.dart timeout 0.0ms 19.3MB 5467ms 70ms dart/exe 3.7.2

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1-m.cs 151ms 2.8ms 18.2MB 453ms 13ms dotnet/aot 9.0.202
csharp 1-m.cs 273ms 15ms 36.9MB 770ms 20ms dotnet 9.0.202
dart 1.dart 359ms 1.9ms 10.6MB 363ms 13ms dart/exe 3.7.2

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 3705ms 14ms 18.0MB 3673ms 23ms dart/exe 3.7.2
csharp 1.cs 4107ms 11ms 18.3MB 4083ms 10ms dotnet/aot 9.0.202
csharp 1.cs 4975ms 8.9ms 37.5MB 4940ms 20ms dotnet 9.0.202

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 600ms 4.6ms 10.4MB 577ms 17ms dart/exe 3.7.2
csharp 1.cs 678ms 1.2ms 14.5MB 660ms 7ms dotnet/aot 9.0.202
csharp 1.cs 864ms 7.8ms 34.0MB 840ms 13ms dotnet 9.0.202

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 5-m.cs 133ms 5.3ms 22.5MB 363ms 100ms dotnet/aot 9.0.202
csharp 5-m.cs 201ms 11ms 38.4MB 463ms 130ms dotnet 9.0.202
csharp 5-m.cs 243ms 12ms 43.8MB 663ms 127ms mono 6.12.0
dart 1.dart 360ms 3.1ms 8.8MB 350ms 0ms dart/exe 3.7.2

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 5-m.cs 24ms 0.9ms 15.5MB 33ms 17ms dotnet/aot 9.0.202
dart 1.dart 43ms 1.2ms 9.1MB 30ms 0ms dart/exe 3.7.2
csharp 5-m.cs 64ms 4.1ms 37.1MB 87ms 13ms dotnet 9.0.202
csharp 5-m.cs 72ms 0.8ms 31.4MB 103ms 27ms mono 6.12.0

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 3.7ms 0.3ms 5.5MB 0ms 0ms dart/exe 3.7.2
csharp 1.cs 9.1ms 3.9ms 9.8MB 0ms 0ms dotnet/aot 9.0.202
csharp 1.cs 31ms 1.0ms 21.3MB 20ms 0ms mono 6.12.0
csharp 1.cs 35ms 0.9ms 26.3MB 18ms 8ms dotnet 9.0.202

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2-http2.cs 513ms 1.7ms 108.8MB 730ms 153ms dotnet 9.0.202
csharp 2-m.cs 584ms 28ms 137.0MB 737ms 523ms dotnet 9.0.202
csharp 2-http3.cs 680ms 12ms 145.9MB 1130ms 243ms dotnet 9.0.202
csharp 1-m.cs 740ms 18ms 170.5MB 1157ms 727ms dotnet 9.0.202
dart 2-m.dart 1437ms 37ms 100.1MB 1320ms 1593ms dart/exe 3.7.2
dart 1.dart 4615ms 74ms 100.0MB 1600ms 1870ms 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 265ms 9.2ms 50.1MB 183ms 297ms dart/exe 3.7.2
csharp 2-m.cs 361ms 3.7ms 87.3MB 390ms 197ms dotnet 9.0.202
csharp 1-m.cs 395ms 4.4ms 97.2MB 530ms 230ms dotnet 9.0.202
csharp 2-http2.cs 439ms 6.2ms 86.0MB 483ms 97ms dotnet 9.0.202
csharp 2-http3.cs 495ms 2.0ms 94.2MB 587ms 113ms dotnet 9.0.202
dart 1.dart 2369ms 11ms 50.6MB 193ms 290ms 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 163ms 0.4ms 53.5MB 133ms 17ms dart/exe 3.7.2
csharp 2.cs 302ms 4.2ms 68.7MB 270ms 30ms dotnet 9.0.202
csharp 1.cs 774ms 76ms 143.4MB 790ms 80ms dotnet 9.0.202

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 1491ms 6.1ms 234.1MB 1633ms 87ms dotnet 9.0.202
dart 1.dart 1499ms 13ms 206.0MB 1707ms 123ms dart/exe 3.7.2
csharp 1.cs 2686ms 63ms 745.4MB 3240ms 437ms dotnet 9.0.202

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6-m.cs 463ms 17ms 45.8MB 1233ms 20ms dotnet/aot 9.0.202
csharp 6-m.cs 754ms 25ms 68.0MB 2087ms 33ms dotnet 9.0.202
csharp 6-m.cs 1028ms 27ms 66.9MB 2970ms 20ms mono 6.12.0
dart 3-m.dart 1242ms 59ms 273.6MB 3763ms 103ms dart/exe 3.7.2

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6-m.cs 100ms 3.6ms 36.1MB 163ms 20ms dotnet/aot 9.0.202
csharp 6-m.cs 181ms 7.0ms 57.2MB 277ms 27ms dotnet 9.0.202
csharp 6-m.cs 199ms 1.7ms 58.1MB 380ms 17ms mono 6.12.0
dart 3-m.dart 210ms 3.3ms 187.1MB 527ms 57ms dart/exe 3.7.2

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 99ms 2.2ms 10.0MB 83ms 0ms dotnet/aot 9.0.202
csharp 2.cs 148ms 2.5ms 21.1MB 137ms 0ms mono 6.12.0
dart 2.dart 167ms 2.8ms 9.3MB 157ms 0ms dart/exe 3.7.2
csharp 2.cs 253ms 6.8ms 29.5MB 237ms 10ms dotnet 9.0.202
dart 1.dart 495ms 4.8ms 9.3MB 480ms 0ms dart/exe 3.7.2
csharp 1.cs 1055ms 14ms 13.3MB 1030ms 10ms dotnet/aot 9.0.202
csharp 1.cs 1320ms 22ms 33.1MB 1303ms 13ms dotnet 9.0.202
csharp 1.cs 3366ms 16ms 45.5MB 3320ms 33ms mono 6.12.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 272ms 3.2ms 10.0MB 257ms 0ms dotnet/aot 9.0.202
csharp 2.cs 362ms 3.0ms 22.7MB 350ms 0ms mono 6.12.0
csharp 2.cs 400ms 1.6ms 29.4MB 380ms 10ms dotnet 9.0.202
dart 2.dart 483ms 12ms 9.4MB 470ms 0ms dart/exe 3.7.2
dart 1.dart 1467ms 4.5ms 9.3MB 1447ms 10ms dart/exe 3.7.2
csharp 1.cs 3130ms 20ms 13.3MB 3103ms 10ms dotnet/aot 9.0.202
csharp 1.cs 3642ms 24ms 32.9MB 3630ms 20ms dotnet 9.0.202
csharp 1.cs timeout 0.0ms 45.6MB 4947ms 47ms mono 6.12.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 53ms 1.2ms 9.9MB 40ms 0ms dotnet/aot 9.0.202
dart 2.dart 77ms 1.9ms 9.1MB 63ms 0ms dart/exe 3.7.2
csharp 2.cs 93ms 2.5ms 23.2MB 80ms 0ms mono 6.12.0
dart 1.dart 115ms 2.3ms 9.3MB 100ms 0ms dart/exe 3.7.2
csharp 2.cs 164ms 3.2ms 29.3MB 147ms 7ms dotnet 9.0.202
csharp 1.cs 1626ms 6.1ms 32.8MB 1617ms 10ms dotnet 9.0.202
csharp 1.cs 1807ms 5.4ms 13.1MB 1790ms 0ms dotnet/aot 9.0.202
csharp 1.cs 1820ms 10ms 28.7MB 1807ms 0ms mono 6.12.0

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 4.cs 343ms 12ms 37.3MB 317ms 10ms dotnet 9.0.202
csharp 2.cs 519ms 26ms 39.6MB 497ms 10ms dotnet 9.0.202
csharp 1.cs 2081ms 46ms 36.4MB 2057ms 10ms dotnet 9.0.202
csharp 3.cs 2367ms 6.0ms 16.3MB 2353ms 0ms dotnet/aot 9.0.202
csharp 3.cs 2447ms 9.7ms 36.5MB 2423ms 10ms dotnet 9.0.202
csharp 1.cs 3956ms 79ms 16.4MB 3940ms 0ms dotnet/aot 9.0.202
csharp 1.cs timeout 0.0ms 23.2MB 4987ms 0ms mono 6.12.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 4.cs 79ms 2.3ms 34.4MB 60ms 10ms dotnet 9.0.202
csharp 3.cs 109ms 2.9ms 12.9MB 97ms 0ms dotnet/aot 9.0.202
csharp 2.cs 112ms 2.1ms 36.9MB 90ms 10ms dotnet 9.0.202
csharp 1.cs 137ms 0.2ms 33.8MB 120ms 10ms dotnet 9.0.202
csharp 3.cs 169ms 7.1ms 33.9MB 143ms 10ms dotnet 9.0.202
csharp 1.cs 176ms 4.5ms 13.3MB 160ms 0ms dotnet/aot 9.0.202
csharp 1.cs 567ms 2.4ms 23.9MB 550ms 0ms mono 6.12.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 324ms 5.6ms 64.4MB 303ms 20ms dart/exe 3.7.2
csharp 2.cs 566ms 6.2ms 123.7MB 513ms 90ms dotnet/aot 9.0.202
csharp 1.cs 603ms 14ms 150.0MB 553ms 120ms dotnet/aot 9.0.202
csharp 2.cs 683ms 21ms 135.9MB 640ms 97ms dotnet 9.0.202
csharp 1.cs 780ms 24ms 163.5MB 717ms 137ms dotnet 9.0.202
csharp 1.cs 1338ms 54ms 140.0MB 1567ms 160ms mono 6.12.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 1.dart 88ms 1.3ms 43.9MB 57ms 23ms dart/exe 3.7.2
csharp 2.cs 138ms 6.8ms 57.0MB 110ms 30ms dotnet/aot 9.0.202
csharp 1.cs 154ms 7.0ms 74.7MB 117ms 53ms dotnet/aot 9.0.202
csharp 2.cs 258ms 1.2ms 74.8MB 233ms 37ms dotnet 9.0.202
csharp 1.cs 267ms 1.6ms 69.5MB 237ms 33ms mono 6.12.0
csharp 1.cs 285ms 10ms 91.3MB 237ms 67ms dotnet 9.0.202

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 9.cs 359ms 1.0ms 27.5MB 340ms 7ms dotnet 9.0.202
csharp 8.cs 372ms 0.3ms 9.8MB 360ms 0ms dotnet/aot 9.0.202
dart 3.dart 410ms 5.1ms 6.3MB 397ms 0ms dart/exe 3.7.2
csharp 8.cs 427ms 7.6ms 27.6MB 403ms 7ms dotnet 9.0.202
csharp 8.cs 1248ms 2.7ms 20.8MB 1233ms 0ms mono 6.12.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 3.dart 46ms 0.8ms 6.1MB 40ms 0ms dart/exe 3.7.2
csharp 8.cs 47ms 1.0ms 9.9MB 33ms 0ms dotnet/aot 9.0.202
csharp 9.cs 92ms 0.8ms 27.6MB 73ms 3ms dotnet 9.0.202
csharp 8.cs 99ms 5.1ms 27.8MB 80ms 7ms dotnet 9.0.202
csharp 8.cs 165ms 1.1ms 22.5MB 150ms 0ms mono 6.12.0

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 336ms 9.3ms 78.8MB 310ms 13ms dotnet/aot 9.0.202
csharp 1.cs 351ms 10ms 96.3MB 327ms 10ms dotnet 9.0.202
csharp 2.cs 398ms 5.1ms 35.6MB 377ms 7ms dotnet 9.0.202
csharp 2.cs 426ms 3.3ms 17.5MB 410ms 0ms dotnet/aot 9.0.202
csharp 1.cs 546ms 4.8ms 84.0MB 523ms 10ms mono 6.12.0
csharp 2.cs 1866ms 4.1ms 29.5MB 1850ms 0ms mono 6.12.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 64ms 4.5ms 24.9MB 50ms 0ms dotnet/aot 9.0.202
csharp 1.cs 104ms 2.0ms 42.5MB 80ms 10ms dotnet 9.0.202
csharp 2.cs 108ms 1.7ms 11.9MB 93ms 0ms dotnet/aot 9.0.202
csharp 2.cs 127ms 1.3ms 29.9MB 110ms 7ms dotnet 9.0.202
csharp 1.cs 143ms 1.6ms 36.0MB 127ms 3ms mono 6.12.0
csharp 2.cs 483ms 2.3ms 21.1MB 467ms 0ms mono 6.12.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 1368ms 13ms 15.0MB 1333ms 40ms dart/exe 3.7.2
csharp 1.cs 3225ms 18ms 13.9MB 3120ms 100ms dotnet/aot 9.0.202
csharp 1.cs 3546ms 1.9ms 38.0MB 3570ms 110ms dotnet 9.0.202

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
dart 2.dart 339ms 5.2ms 14.8MB 310ms 20ms dart/exe 3.7.2
csharp 1.cs 759ms 2.6ms 13.4MB 720ms 27ms dotnet/aot 9.0.202
csharp 1.cs 983ms 4.6ms 37.9MB 1067ms 37ms dotnet 9.0.202

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6.cs 1756ms 6.4ms 418.5MB 1660ms 147ms dotnet/aot 9.0.202
csharp 5.cs 2077ms 15ms 447.0MB 2130ms 187ms dotnet 9.0.202
csharp 6.cs 2732ms 45ms 438.4MB 2687ms 183ms dotnet 9.0.202
csharp 5.cs 4299ms 17ms 418.9MB 4193ms 153ms dotnet/aot 9.0.202
dart 1.dart timeout 0.0ms 188.1MB 4983ms 50ms dart/exe 3.7.2

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6.cs 190ms 3.8ms 47.6MB 163ms 17ms dotnet/aot 9.0.202
csharp 5.cs 292ms 5.1ms 72.7MB 263ms 30ms dotnet 9.0.202
csharp 6.cs 387ms 1.4ms 70.0MB 350ms 30ms dotnet 9.0.202
csharp 5.cs 441ms 5.4ms 47.3MB 420ms 20ms dotnet/aot 9.0.202
dart 1.dart 572ms 26ms 43.2MB 550ms 13ms dart/exe 3.7.2

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 2851ms 10.0ms 13.1MB 2817ms 20ms dotnet/aot 9.0.202
csharp 1.cs 2967ms 19ms 35.6MB 3027ms 43ms dotnet 9.0.202

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 720ms 4.3ms 13.0MB 700ms 7ms dotnet/aot 9.0.202
csharp 1.cs 1005ms 7.9ms 35.8MB 1087ms 23ms dotnet 9.0.202

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 1879ms 22ms 10.4MB 7240ms 10ms dotnet/aot 9.0.202
csharp 3-m.cs 1974ms 78ms 29.9MB 7297ms 17ms dotnet 9.0.202
dart 1.dart 3776ms 6.4ms 6.3MB 3767ms 0ms dart/exe 3.7.2
dart 2.dart 4353ms 9.3ms 6.4MB 4343ms 0ms dart/exe 3.7.2
csharp 3-m.cs 4747ms 137ms 25.7MB 18010ms 23ms mono 6.12.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 483ms 11ms 10.5MB 1800ms 7ms dotnet/aot 9.0.202
csharp 3-m.cs 534ms 1.3ms 29.9MB 1873ms 13ms dotnet 9.0.202
dart 1.dart 948ms 5.6ms 6.5MB 937ms 0ms dart/exe 3.7.2
dart 2.dart 1099ms 5.7ms 6.4MB 1087ms 0ms dart/exe 3.7.2
csharp 3-m.cs 1230ms 55ms 25.6MB 4607ms 10ms mono 6.12.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 128ms 0.7ms 10.5MB 447ms 7ms dotnet/aot 9.0.202
csharp 3-m.cs 183ms 7.9ms 28.3MB 503ms 10ms dotnet 9.0.202
dart 1.dart 244ms 1.1ms 6.4MB 230ms 0ms dart/exe 3.7.2
dart 2.dart 279ms 2.6ms 6.3MB 270ms 0ms dart/exe 3.7.2
csharp 3-m.cs 354ms 10ms 24.9MB 1193ms 7ms mono 6.12.0