C# VS Java benchmarks

Current benchmark data was generated on Tue Dec 31 2024, 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
java 2.java 428ms 6.0ms 574.2MB 503ms 83ms openjdk 21
java 2-m.java 448ms 5.4ms 648.6MB 620ms 120ms graal/jvm 17.0.8
java 2.java 451ms 8.7ms 650.1MB 557ms 87ms openjdk 23
csharp 1.cs 886ms 4.1ms 166.1MB 870ms 127ms dotnet/aot 9.0.101
csharp 1.cs 889ms 12ms 194.2MB 897ms 133ms dotnet 9.0.101
java 2.java 1140ms 6.2ms 1085.8MB 540ms 753ms openjdk/zgc 21
csharp 1.cs 1646ms 54ms 103.5MB 1847ms 210ms mono 6.12.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 117ms 12ms 45.7MB 77ms 30ms dotnet/aot 9.0.101
java 2-m.java 117ms 3.3ms 167.6MB 147ms 30ms openjdk 21
java 2.java 122ms 6.2ms 98.2MB 143ms 33ms openjdk 23
csharp 1.cs 136ms 3.4ms 44.2MB 107ms 17ms mono 6.12.0
java 2-m.java 153ms 9.8ms 226.4MB 223ms 60ms graal/jvm 17.0.8
csharp 1.cs 202ms 3.7ms 66.8MB 143ms 40ms dotnet 9.0.101
java 2.java 289ms 1.8ms 241.5MB 147ms 187ms openjdk/zgc 21

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 1839ms 107ms 260.2MB 6950ms 100ms openjdk 21
csharp 1-m.cs 2035ms 57ms 64.6MB 7020ms 97ms dotnet/aot 9.0.101
java 1-m.java 2281ms 118ms 242.8MB 8683ms 107ms openjdk 23
java 1-m.java 2455ms 149ms 1194.8MB 7670ms 997ms openjdk/zgc 21
csharp 1-m.cs 2504ms 195ms 88.3MB 7747ms 103ms dotnet 9.0.101

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1-m.cs 154ms 8.5ms 31.8MB 397ms 23ms dotnet/aot 9.0.101
csharp 1-m.cs 255ms 8.9ms 49.5MB 703ms 13ms dotnet 9.0.101
java 1-m.java 393ms 19ms 91.0MB 1263ms 60ms openjdk 23
java 1-m.java 413ms 23ms 131.0MB 1357ms 63ms openjdk 21
java 1-m.java 622ms 34ms 224.1MB 1667ms 243ms openjdk/zgc 21

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 570ms 13ms 400.4MB 1093ms 103ms graal/jvm 17.0.8
java 1-m.java 603ms 36ms 265.8MB 1603ms 53ms openjdk 21
java 1-m.java 638ms 35ms 227.5MB 1663ms 60ms openjdk 23
java 1-m.java 959ms 5.3ms 553.4MB 1583ms 433ms openjdk/zgc 21
csharp 1.cs 3879ms 27ms 24.0MB 3850ms 13ms dotnet/aot 9.0.101
csharp 1.cs 4710ms 24ms 43.7MB 4687ms 17ms dotnet 9.0.101

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 295ms 20ms 230.9MB 577ms 60ms graal/jvm 17.0.8
java 1-m.java 325ms 28ms 178.0MB 870ms 47ms openjdk 21
java 1-m.java 338ms 18ms 111.1MB 923ms 40ms openjdk 23
java 1-m.java 473ms 26ms 215.3MB 917ms 210ms openjdk/zgc 21
csharp 1.cs 641ms 1.7ms 20.6MB 620ms 0ms dotnet/aot 9.0.101
csharp 1.cs 830ms 5.3ms 40.1MB 803ms 13ms dotnet 9.0.101

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 5-m.cs 125ms 14ms 32.7MB 347ms 80ms dotnet/aot 9.0.101
csharp 5-m.cs 183ms 1.2ms 48.7MB 453ms 110ms dotnet 9.0.101
csharp 5-m.cs 239ms 14ms 59.0MB 640ms 97ms mono 6.12.0
java 4.java 415ms 6.6ms 107.3MB 563ms 50ms graal/jvm 17.0.8
java 4.java 431ms 15ms 47.5MB 517ms 20ms openjdk 21
java 4.java 439ms 9.7ms 49.3MB 523ms 17ms openjdk 23
java 4.java 541ms 2.5ms 44.9MB 507ms 133ms openjdk/zgc 21

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 5-m.cs 25ms 1.8ms 25.1MB 33ms 17ms dotnet/aot 9.0.101
csharp 5-m.cs 59ms 1.5ms 44.6MB 63ms 30ms dotnet 9.0.101
csharp 5-m.cs 71ms 2.1ms 39.6MB 93ms 33ms mono 6.12.0
java 4.java 116ms 0.7ms 46.4MB 150ms 17ms openjdk 21
java 4.java 117ms 0.9ms 47.5MB 153ms 17ms openjdk 23
java 4-m.java 132ms 7.0ms 97.4MB 180ms 37ms graal/jvm 17.0.8
java 4.java 226ms 9.1ms 43.9MB 153ms 130ms openjdk/zgc 21

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 18ms 11ms 15.5MB 0ms 0ms dotnet/aot 9.0.101
csharp 1.cs 30ms 0.2ms 23.4MB 18ms 2ms mono 6.12.0
csharp 1.cs 34ms 1.5ms 32.5MB 18ms 6ms dotnet 9.0.101
java 1.java 61ms 1.3ms 58.6MB 60ms 20ms graal/jvm 17.0.8
java 1.java 69ms 2.9ms 44.7MB 66ms 14ms openjdk 23
java 1.java 69ms 1.0ms 43.8MB 72ms 10ms openjdk 21
java 1.java 174ms 5.3ms 44.5MB 80ms 116ms openjdk/zgc 21

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2-http2.cs 496ms 24ms 120.7MB 680ms 153ms dotnet 9.0.101
csharp 2-m.cs 619ms 9.7ms 152.3MB 680ms 523ms dotnet 9.0.101
csharp 2-http3.cs 660ms 21ms 157.7MB 1057ms 273ms dotnet 9.0.101
csharp 1-m.cs 750ms 12ms 176.3MB 1027ms 667ms dotnet 9.0.101

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 378ms 23ms 100.8MB 377ms 173ms dotnet 9.0.101
csharp 1-m.cs 423ms 8.7ms 109.1MB 483ms 233ms dotnet 9.0.101
csharp 2-http2.cs 423ms 15ms 98.0MB 457ms 97ms dotnet 9.0.101
csharp 2-http3.cs 474ms 16ms 104.5MB 530ms 143ms dotnet 9.0.101

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 298ms 9.2ms 80.7MB 257ms 23ms dotnet 9.0.101
csharp 1.cs 801ms 33ms 153.1MB 803ms 90ms dotnet 9.0.101

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 1437ms 45ms 224.3MB 1627ms 77ms dotnet 9.0.101
csharp 1.cs 2524ms 51ms 757.7MB 2907ms 400ms dotnet 9.0.101

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6-m.cs 442ms 15ms 54.7MB 1167ms 20ms dotnet/aot 9.0.101
csharp 6-m.cs 650ms 8.3ms 78.3MB 1763ms 37ms dotnet 9.0.101
java 3-m.java 957ms 65ms 126.8MB 3243ms 40ms openjdk 21
csharp 6-m.cs 964ms 22ms 68.9MB 2790ms 33ms mono 6.12.0
java 3-m.java 1032ms 55ms 183.8MB 3450ms 77ms graal/jvm 17.0.8
java 3-m.java 1036ms 18ms 156.5MB 3543ms 47ms openjdk 23
java 3-m.java 1340ms 52ms 178.8MB 4223ms 190ms openjdk/zgc 21

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6-m.cs 80ms 1.3ms 45.0MB 130ms 23ms dotnet/aot 9.0.101
csharp 6-m.cs 160ms 3.1ms 66.3MB 227ms 37ms dotnet 9.0.101
csharp 6-m.cs 184ms 4.4ms 55.0MB 357ms 20ms mono 6.12.0
java 3-m.java 311ms 28ms 87.9MB 907ms 17ms openjdk 23
java 3-m.java 328ms 29ms 100.2MB 973ms 30ms openjdk 21
java 3-m.java 356ms 16ms 139.7MB 963ms 53ms graal/jvm 17.0.8
java 3-m.java 401ms 8.3ms 100.0MB 823ms 167ms openjdk/zgc 21

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 89ms 3.0ms 15.9MB 80ms 0ms dotnet/aot 9.0.101
csharp 2.cs 140ms 0.7ms 26.8MB 127ms 0ms mono 6.12.0
csharp 2.cs 243ms 1.1ms 33.6MB 230ms 10ms dotnet 9.0.101
csharp 1.cs 1019ms 10ms 16.9MB 997ms 7ms dotnet/aot 9.0.101
csharp 1.cs 1233ms 42ms 38.8MB 1220ms 10ms dotnet 9.0.101
csharp 1.cs 3162ms 77ms 51.6MB 3123ms 30ms mono 6.12.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 255ms 3.9ms 13.6MB 240ms 0ms dotnet/aot 9.0.101
csharp 2.cs 338ms 3.1ms 22.7MB 327ms 0ms mono 6.12.0
csharp 2.cs 390ms 13ms 33.4MB 363ms 13ms dotnet 9.0.101
csharp 1.cs 3020ms 20ms 17.1MB 2993ms 10ms dotnet/aot 9.0.101
csharp 1.cs 3573ms 79ms 39.3MB 3550ms 27ms dotnet 9.0.101
csharp 1.cs timeout 0.0ms 49.7MB 4940ms 50ms mono 6.12.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 49ms 0.9ms 15.8MB 30ms 0ms dotnet/aot 9.0.101
csharp 2.cs 88ms 2.2ms 24.7MB 70ms 0ms mono 6.12.0
csharp 2.cs 159ms 4.8ms 33.6MB 133ms 7ms dotnet 9.0.101
csharp 1.cs 1533ms 8.5ms 38.8MB 1517ms 13ms dotnet 9.0.101
csharp 1.cs 1716ms 16ms 28.6MB 1703ms 0ms mono 6.12.0
csharp 1.cs 1729ms 2.9ms 16.9MB 1707ms 3ms dotnet/aot 9.0.101

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 1032ms 65ms 46.1MB 1010ms 10ms dotnet 9.0.101
java 1b.java 1088ms 25ms 55.9MB 1183ms 20ms openjdk 23
java 1b.java 1099ms 9.8ms 54.1MB 1203ms 10ms openjdk 21
java 1b.java 1140ms 3.0ms 114.0MB 1380ms 43ms graal/jvm 17.0.8
java 1.java 1186ms 11ms 134.8MB 1287ms 43ms graal/jvm 17.0.8
java 1b.java 1206ms 5.6ms 51.0MB 1187ms 130ms openjdk/zgc 21
java 1a.java 1561ms 13ms 54.8MB 1640ms 30ms openjdk 21
java 1a.java 1568ms 7.1ms 56.5MB 1640ms 33ms openjdk 23
java 1a.java 1588ms 7.8ms 104.9MB 1690ms 37ms graal/jvm 17.0.8
java 1.java 1614ms 17ms 299.9MB 1663ms 50ms openjdk 23
java 1.java 1619ms 19ms 202.2MB 1683ms 37ms openjdk 21
java 1a.java 1691ms 11ms 53.0MB 1660ms 133ms openjdk/zgc 21
csharp 1.cs 1949ms 25ms 42.7MB 1913ms 13ms dotnet 9.0.101
java 1.java 2222ms 9.3ms 839.9MB 1657ms 657ms openjdk/zgc 21
csharp 3.cs 2330ms 12ms 42.8MB 2303ms 3ms dotnet 9.0.101
csharp 3.cs 2397ms 13ms 22.3MB 2383ms 0ms dotnet/aot 9.0.101
csharp 1.cs 3363ms 16ms 22.1MB 3350ms 0ms dotnet/aot 9.0.101
csharp 1.cs timeout 0.0ms 26.4MB 4987ms 3ms mono 6.12.0
java 2.java timeout 0.0ms 680.4MB 5250ms 110ms openjdk 21
java 2.java timeout 0.0ms 804.6MB 5267ms 103ms openjdk 23
java 2.java timeout 0.0ms 3394.0MB 3423ms 1930ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3.cs 112ms 2.9ms 19.4MB 100ms 0ms dotnet/aot 9.0.101
csharp 1.cs 130ms 1.9ms 39.8MB 110ms 7ms dotnet 9.0.101
csharp 2.cs 141ms 27ms 41.3MB 123ms 0ms dotnet 9.0.101
csharp 1.cs 150ms 3.4ms 17.0MB 133ms 0ms dotnet/aot 9.0.101
csharp 3.cs 156ms 4.5ms 39.9MB 140ms 3ms dotnet 9.0.101
java 1b-m.java 168ms 7.4ms 51.1MB 263ms 17ms openjdk 23
java 1b-m.java 170ms 15ms 49.4MB 277ms 13ms openjdk 21
java 1a-m.java 174ms 1.1ms 51.2MB 267ms 17ms openjdk 21
java 1-m.java 178ms 1.8ms 82.0MB 243ms 27ms openjdk 21
java 1-m.java 181ms 5.7ms 87.0MB 250ms 27ms openjdk 23
java 1a-m.java 183ms 9.6ms 53.2MB 283ms 17ms openjdk 23
java 1-m.java 188ms 1.2ms 117.5MB 273ms 50ms graal/jvm 17.0.8
java 1a-m.java 205ms 3.9ms 100.0MB 310ms 33ms graal/jvm 17.0.8
java 1b-m.java 215ms 23ms 105.6MB 353ms 43ms graal/jvm 17.0.8
java 1a.java 293ms 9.5ms 49.8MB 270ms 133ms openjdk/zgc 21
java 1b.java 303ms 9.4ms 49.6MB 287ms 133ms openjdk/zgc 21
java 1.java 319ms 10ms 114.2MB 250ms 153ms openjdk/zgc 21
java 2-m.java 516ms 21ms 556.8MB 793ms 73ms openjdk 21
java 2-m.java 532ms 10ms 751.9MB 800ms 93ms openjdk 23
csharp 1.cs 538ms 3.9ms 25.3MB 520ms 7ms mono 6.12.0
java 2.java 1560ms 7.7ms 1436.9MB 800ms 1043ms openjdk/zgc 21

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 377ms 8.2ms 679.9MB 450ms 77ms openjdk 21
java 1.java 383ms 9.9ms 546.0MB 480ms 80ms openjdk 23
java 1-m.java 408ms 27ms 589.2MB 630ms 77ms graal/jvm 17.0.8
csharp 2.cs 521ms 13ms 123.3MB 463ms 80ms dotnet/aot 9.0.101
csharp 1.cs 549ms 12ms 154.4MB 487ms 123ms dotnet/aot 9.0.101
csharp 2.cs 657ms 22ms 142.9MB 603ms 97ms dotnet 9.0.101
csharp 1.cs 663ms 5.2ms 169.5MB 603ms 123ms dotnet 9.0.101
java 1.java 1004ms 16ms 1000.0MB 447ms 697ms openjdk/zgc 21
csharp 1.cs 1246ms 80ms 142.6MB 1450ms 163ms mono 6.12.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 129ms 11ms 62.5MB 93ms 33ms dotnet/aot 9.0.101
csharp 1.cs 147ms 8.4ms 80.9MB 113ms 43ms dotnet/aot 9.0.101
java 1-m.java 153ms 0.5ms 206.4MB 210ms 50ms openjdk 21
java 1-m.java 154ms 0.8ms 158.8MB 213ms 47ms openjdk 23
java 1-m.java 210ms 8.6ms 260.7MB 360ms 47ms graal/jvm 17.0.8
csharp 1.cs 247ms 3.2ms 71.3MB 207ms 43ms mono 6.12.0
csharp 1.cs 261ms 6.2ms 98.0MB 220ms 53ms dotnet 9.0.101
csharp 2.cs 268ms 26ms 80.7MB 217ms 40ms dotnet 9.0.101
java 1.java 386ms 10ms 343.0MB 210ms 247ms openjdk/zgc 21

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 9.cs 342ms 4.6ms 34.1MB 320ms 7ms dotnet 9.0.101
csharp 8.cs 350ms 0.8ms 15.8MB 340ms 0ms dotnet/aot 9.0.101
csharp 8.cs 410ms 17ms 33.9MB 390ms 0ms dotnet 9.0.101
java 1.java 417ms 2.4ms 45.2MB 450ms 13ms openjdk 21
java 1.java 420ms 6.1ms 48.2MB 450ms 20ms openjdk 23
java 1.java 429ms 7.0ms 85.0MB 457ms 27ms graal/jvm 17.0.8
java 1.java 530ms 6.4ms 46.5MB 450ms 130ms openjdk/zgc 21
java 2.java 1166ms 4.4ms 571.8MB 1293ms 77ms openjdk 21
java 2.java 1187ms 9.7ms 717.8MB 1287ms 90ms openjdk 23
csharp 8.cs 1189ms 27ms 24.1MB 1163ms 7ms mono 6.12.0
java 2.java 3101ms 57ms 2431.6MB 1560ms 1743ms openjdk/zgc 21

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 8.cs 44ms 0.9ms 15.7MB 30ms 0ms dotnet/aot 9.0.101
csharp 9.cs 96ms 16ms 34.0MB 70ms 7ms dotnet 9.0.101
csharp 8.cs 108ms 14ms 33.9MB 77ms 3ms dotnet 9.0.101
java 1.java 111ms 2.5ms 45.2MB 137ms 20ms openjdk 21
java 1.java 112ms 0.7ms 87.3MB 130ms 30ms graal/jvm 17.0.8
java 1.java 114ms 1.2ms 48.5MB 140ms 20ms openjdk 23
csharp 8.cs 155ms 4.8ms 22.5MB 143ms 0ms mono 6.12.0
java 1.java 230ms 5.1ms 46.5MB 150ms 133ms openjdk/zgc 21
java 2-m.java 289ms 6.3ms 348.4MB 407ms 70ms openjdk 23
java 2-m.java 293ms 18ms 355.0MB 440ms 30ms openjdk 21
java 2.java 658ms 2.3ms 536.9MB 437ms 403ms openjdk/zgc 21

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 288ms 4.4ms 55.1MB 270ms 3ms dotnet/aot 9.0.101
csharp 1.cs 312ms 3.5ms 74.6MB 283ms 17ms dotnet 9.0.101
java 1.java 367ms 5.0ms 118.1MB 397ms 27ms openjdk 23
java 1.java 367ms 3.8ms 114.6MB 413ms 27ms openjdk 21
csharp 2.cs 376ms 1.5ms 39.9MB 357ms 7ms dotnet 9.0.101
csharp 2.cs 401ms 4.0ms 19.8MB 383ms 0ms dotnet/aot 9.0.101
csharp 1.cs 509ms 6.2ms 84.0MB 483ms 10ms mono 6.12.0
java 1.java 535ms 4.6ms 114.6MB 440ms 157ms openjdk/zgc 21
java 1-m.java 654ms 9.2ms 208.3MB 983ms 70ms graal/jvm 17.0.8
java 2.java 734ms 5.2ms 57.1MB 777ms 23ms openjdk 21
java 2.java 750ms 10ms 60.4MB 790ms 20ms openjdk 23
java 2.java 804ms 11ms 53.3MB 740ms 130ms openjdk/zgc 21
java 2-m.java 1277ms 30ms 265.2MB 2290ms 83ms graal/jvm 17.0.8
csharp 2.cs 1771ms 12ms 31.3MB 1753ms 7ms mono 6.12.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 63ms 1.1ms 25.9MB 43ms 3ms dotnet/aot 9.0.101
csharp 1.cs 97ms 0.8ms 45.3MB 70ms 13ms dotnet 9.0.101
csharp 2.cs 103ms 1.4ms 17.9MB 87ms 3ms dotnet/aot 9.0.101
csharp 2.cs 120ms 3.1ms 35.9MB 107ms 3ms dotnet 9.0.101
csharp 1.cs 139ms 3.8ms 39.9MB 117ms 7ms mono 6.12.0
java 1.java 140ms 4.3ms 68.2MB 177ms 17ms openjdk 23
java 1.java 151ms 8.4ms 65.3MB 200ms 17ms openjdk 21
java 1-m.java 210ms 26ms 127.6MB 297ms 50ms graal/jvm 17.0.8
java 2.java 244ms 4.8ms 50.3MB 297ms 20ms openjdk 21
java 2.java 249ms 5.7ms 50.9MB 290ms 20ms openjdk 23
java 1.java 264ms 1.7ms 63.3MB 193ms 133ms openjdk/zgc 21
java 2.java 348ms 11ms 49.4MB 273ms 137ms openjdk/zgc 21
csharp 2.cs 462ms 9.6ms 27.1MB 450ms 0ms mono 6.12.0
java 2-m.java 489ms 42ms 151.7MB 883ms 47ms graal/jvm 17.0.8

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 3047ms 34ms 19.8MB 2953ms 97ms dotnet/aot 9.0.101
java 1.java 3054ms 20ms 378.6MB 3497ms 93ms graal/jvm 17.0.8
csharp 1.cs 3390ms 117ms 44.0MB 3390ms 110ms dotnet 9.0.101
java 1.java 3512ms 55ms 352.2MB 4263ms 100ms openjdk 21
java 1.java 3516ms 17ms 467.6MB 4333ms 110ms openjdk 23
java 1.java 4911ms 83ms 1847.1MB 4407ms 1287ms openjdk/zgc 21

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 716ms 8.6ms 19.6MB 667ms 33ms dotnet/aot 9.0.101
java 1-m.java 862ms 30ms 376.3MB 1213ms 93ms graal/jvm 17.0.8
csharp 1.cs 940ms 21ms 43.5MB 1023ms 43ms dotnet 9.0.101
java 1-m.java 946ms 37ms 351.6MB 1657ms 93ms openjdk 21
java 1-m.java 959ms 18ms 387.9MB 1673ms 93ms openjdk 23
java 1.java 1914ms 12ms 1374.3MB 1617ms 980ms openjdk/zgc 21

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6.cs 1674ms 29ms 429.0MB 1580ms 140ms dotnet/aot 9.0.101
csharp 5.cs 1999ms 113ms 454.9MB 2007ms 180ms dotnet 9.0.101
csharp 6.cs 2674ms 130ms 449.7MB 2617ms 163ms dotnet 9.0.101
csharp 5.cs 4066ms 34ms 430.2MB 3957ms 153ms dotnet/aot 9.0.101
java 3.java timeout 0.0ms 501.9MB 5477ms 97ms graal/jvm 17.0.8
java 3.java timeout 0.0ms 328.2MB 5333ms 50ms openjdk 21
java 3.java timeout 0.0ms 350.8MB 5360ms 57ms openjdk 23
java 3.java timeout 0.0ms 488.6MB 4940ms 307ms openjdk/zgc 21

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6.cs 179ms 2.1ms 55.1MB 157ms 13ms dotnet/aot 9.0.101
csharp 5.cs 278ms 16ms 80.5MB 237ms 30ms dotnet 9.0.101
csharp 6.cs 370ms 4.1ms 79.2MB 343ms 20ms dotnet 9.0.101
csharp 5.cs 415ms 1.9ms 56.8MB 393ms 10ms dotnet/aot 9.0.101
java 3-m.java 749ms 10ms 130.7MB 1110ms 37ms openjdk 21
java 3-m.java 765ms 72ms 178.4MB 1157ms 47ms graal/jvm 17.0.8
java 3-m.java 770ms 25ms 134.3MB 1160ms 43ms openjdk 23
java 3.java 902ms 21ms 136.0MB 1070ms 167ms openjdk/zgc 21

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 2679ms 13ms 17.0MB 2640ms 30ms dotnet/aot 9.0.101
csharp 1.cs 2791ms 2.9ms 39.3MB 2860ms 33ms dotnet 9.0.101

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 685ms 10.0ms 16.7MB 667ms 7ms dotnet/aot 9.0.101
csharp 1.cs 1025ms 53ms 41.8MB 1097ms 20ms dotnet 9.0.101

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 1779ms 35ms 18.5MB 6860ms 3ms dotnet/aot 9.0.101
java 2-m.java 1867ms 20ms 47.6MB 7143ms 20ms openjdk 21
java 2-m.java 1877ms 26ms 49.0MB 7130ms 20ms openjdk 23
java 2-m.java 1981ms 11ms 45.4MB 7137ms 137ms openjdk/zgc 21
csharp 3-m.cs 2081ms 305ms 38.1MB 6603ms 27ms dotnet 9.0.101
java 2-m.java 2318ms 11ms 100.9MB 8233ms 47ms graal/jvm 17.0.8
csharp 3-m.cs 4402ms 103ms 30.5MB 17000ms 13ms mono 6.12.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 450ms 2.7ms 18.4MB 1703ms 7ms dotnet/aot 9.0.101
csharp 3-m.cs 536ms 66ms 37.8MB 1747ms 3ms dotnet 9.0.101
java 2-m.java 557ms 2.8ms 48.4MB 1953ms 27ms openjdk 23
java 2-m.java 558ms 2.6ms 47.5MB 1963ms 23ms openjdk 21
java 2-m.java 676ms 7.0ms 45.6MB 1957ms 140ms openjdk/zgc 21
java 2-m.java 688ms 5.7ms 98.9MB 2293ms 57ms graal/jvm 17.0.8
csharp 3-m.cs 1220ms 125ms 28.6MB 4300ms 13ms mono 6.12.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 122ms 0.6ms 18.1MB 423ms 7ms dotnet/aot 9.0.101
csharp 3-m.cs 167ms 2.0ms 36.5MB 470ms 7ms dotnet 9.0.101
java 2-m.java 229ms 5.7ms 48.4MB 670ms 23ms openjdk 23
java 2-m.java 238ms 14ms 47.6MB 693ms 20ms openjdk 21
java 2-m.java 281ms 23ms 101.8MB 823ms 40ms graal/jvm 17.0.8
csharp 3-m.cs 342ms 16ms 28.5MB 1147ms 10ms mono 6.12.0
java 2-m.java 346ms 3.4ms 47.1MB 667ms 133ms openjdk/zgc 21