C# VS D 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
csharp 1.cs 1487ms 35ms 306.6MB 1350ms 213ms dotnet/aot 7.0.102
csharp 1.cs 1715ms 29ms 426.3MB 1513ms 263ms dotnet 7.0.102
csharp 1.cs 2432ms 49ms 104.6MB 2877ms 213ms mono 6.12.0
d 1.d 3392ms 64ms 74.9MB 3630ms 33ms ldc2 1.30.0
d 1.d 4652ms 28ms 154.1MB 5177ms 33ms dmd 2.102.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 144ms 6.2ms 59.4MB 120ms 17ms dotnet/aot 7.0.102
csharp 1.cs 166ms 4.5ms 46.1MB 137ms 20ms mono 6.12.0
csharp 1.cs 281ms 3.2ms 151.0MB 200ms 53ms dotnet 7.0.102
d 1.d 306ms 5.6ms 15.1MB 287ms 7ms ldc2 1.30.0
d 1.d 394ms 1.4ms 27.1MB 410ms 0ms dmd 2.102.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs timeout 0.0ms 159.7MB 9273ms 90ms dotnet 7.0.102
csharp 1.cs timeout 0.0ms 66.7MB 9393ms 50ms dotnet/aot 7.0.102
d 1.d timeout 0.0ms 14.4MB 4963ms 17ms dmd 2.102.0
d 1.d timeout 0.0ms 13.4MB 4963ms 17ms ldc2 1.30.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1-m.cs 384ms 14ms 52.2MB 663ms 27ms dotnet/aot 7.0.102
csharp 1-m.cs 619ms 42ms 143.6MB 960ms 63ms dotnet 7.0.102
d 1.d 1272ms 6.8ms 8.4MB 1247ms 10ms ldc2 1.30.0
d 1.d 1655ms 8.1ms 10.0MB 1640ms 3ms dmd 2.102.0

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs timeout 0.0ms 109.7MB 4953ms 23ms dotnet 7.0.102
csharp 1.cs timeout 0.0ms 22.7MB 4990ms 0ms dotnet/aot 7.0.102
d 1.d timeout 0.0ms 9.4MB 4980ms 0ms dmd 2.102.0
d 1.d timeout 0.0ms 7.6MB 4980ms 0ms ldc2 1.30.0

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 847ms 2.4ms 19.3MB 837ms 0ms dotnet/aot 7.0.102
d 1.d 919ms 0.8ms 7.3MB 910ms 0ms ldc2 1.30.0
csharp 1.cs 959ms 5.1ms 109.5MB 900ms 30ms dotnet 7.0.102
d 1.d 1055ms 0.3ms 8.7MB 1050ms 0ms dmd 2.102.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 216ms 0.6ms 30.7MB 190ms 10ms ldc2 1.30.0
csharp 5-m.cs 316ms 19ms 47.2MB 503ms 90ms dotnet/aot 7.0.102
csharp 5-m.cs 544ms 24ms 61.2MB 910ms 113ms mono 6.12.0
csharp 5-m.cs 569ms 35ms 171.4MB 853ms 150ms dotnet 7.0.102
d 1.d 678ms 0.8ms 39.9MB 657ms 7ms dmd 2.102.0

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 26ms 0.9ms 8.9MB 17ms 0ms ldc2 1.30.0
csharp 5.cs 49ms 1.7ms 21.3MB 57ms 13ms dotnet/aot 7.0.102
d 1.d 71ms 0.2ms 10.6MB 60ms 0ms dmd 2.102.0
csharp 5.cs 96ms 10ms 39.2MB 113ms 30ms mono 6.12.0
csharp 5.cs 143ms 4.6ms 114.0MB 117ms 53ms dotnet 7.0.102

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 2.2ms 0.3ms 4.4MB 0ms 0ms dmd 2.102.0
d 1.d 2.7ms 0.8ms 2.8MB 0ms 0ms ldc2 1.30.0
csharp 1.cs 6.8ms 0.7ms 12.1MB 0ms 0ms dotnet/aot 7.0.102
csharp 1.cs 21ms 0.6ms 25.6MB 10ms 0ms mono 6.12.0
csharp 1.cs 79ms 2.2ms 101.4MB 28ms 26ms dotnet 7.0.102

http-server

Input: 3000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2-http2.cs 947ms 15ms 198.0MB 970ms 137ms dotnet 7.0.102
csharp 2.cs 996ms 24ms 244.1MB 853ms 527ms dotnet 7.0.102
csharp 1.cs 1358ms 118ms 249.1MB 1027ms 617ms dotnet 7.0.102
csharp 2-http3.cs 1383ms 20ms 269.8MB 1540ms 367ms dotnet 7.0.102

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 518ms 16ms 158.5MB 410ms 143ms dotnet 7.0.102
csharp 1.cs 598ms 17ms 167.5MB 550ms 193ms dotnet 7.0.102
csharp 2-http2.cs 822ms 2.6ms 164.6MB 777ms 93ms dotnet 7.0.102
csharp 2-http3.cs 896ms 4.7ms 180.4MB 850ms 163ms dotnet 7.0.102

json-serde

Input: sample 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 2.d 75ms 3.1ms 15.5MB 67ms 3ms ldc2 1.30.0
d 2.d 291ms 1.1ms 21.5MB 277ms 7ms dmd 2.102.0
csharp 2.cs 413ms 9.4ms 146.7MB 337ms 60ms dotnet 7.0.102
csharp 1.cs 709ms 7.7ms 218.7MB 670ms 90ms dotnet 7.0.102

Input: canada 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 2.d 608ms 2.1ms 139.8MB 543ms 43ms ldc2 1.30.0
csharp 2.cs 1856ms 53ms 346.0MB 1987ms 143ms dotnet 7.0.102
csharp 1.cs 2972ms 9.9ms 862.9MB 2887ms 410ms dotnet 7.0.102
d 2.d 3142ms 1.9ms 157.1MB 3140ms 50ms dmd 2.102.0

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6.cs 1021ms 26ms 51.9MB 1473ms 23ms dotnet/aot 7.0.102
csharp 6-m.cs 1387ms 9.1ms 148.2MB 2387ms 53ms dotnet 7.0.102
d 1-m.d 1552ms 47ms 51.1MB 2807ms 13ms ldc2 1.30.0
csharp 6-m.cs 1868ms 29ms 70.5MB 3010ms 30ms mono 6.12.0
d 1-m.d 3770ms 69ms 52.6MB 7183ms 13ms dmd 2.102.0

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 6.cs 162ms 8.1ms 40.7MB 177ms 20ms dotnet/aot 7.0.102
d 1-m.d 188ms 15ms 40.1MB 313ms 7ms ldc2 1.30.0
csharp 6.cs 271ms 7.4ms 51.6MB 363ms 13ms mono 6.12.0
csharp 6.cs 309ms 2.5ms 132.8MB 337ms 43ms dotnet 7.0.102
d 1-m.d 420ms 13ms 42.2MB 747ms 13ms dmd 2.102.0

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 138ms 1.7ms 10.0MB 133ms 0ms dotnet/aot 7.0.102
d 1.d 174ms 0.7ms 3.7MB 167ms 0ms ldc2 1.30.0
csharp 2.cs 196ms 1.8ms 25.4MB 173ms 7ms mono 6.12.0
csharp 2.cs 228ms 3.3ms 102.0MB 180ms 20ms dotnet 7.0.102
d 1.d 249ms 1.3ms 5.3MB 240ms 0ms dmd 2.102.0
csharp 1.cs 1582ms 3.0ms 60.1MB 1560ms 20ms dotnet/aot 7.0.102
csharp 1.cs 1737ms 17ms 150.1MB 1657ms 63ms dotnet 7.0.102
csharp 1.cs 3349ms 1.6ms 47.6MB 3303ms 40ms mono 6.12.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 400ms 7.6ms 8.2MB 393ms 0ms dotnet/aot 7.0.102
csharp 2.cs 458ms 2.7ms 102.2MB 397ms 33ms dotnet 7.0.102
d 1.d 509ms 1.6ms 3.7MB 497ms 0ms ldc2 1.30.0
csharp 2.cs 526ms 2.5ms 24.9MB 510ms 0ms mono 6.12.0
d 1.d 743ms 15ms 5.4MB 733ms 0ms dmd 2.102.0
csharp 1.cs 4665ms 7.4ms 58.3MB 4643ms 13ms dotnet/aot 7.0.102
csharp 1.cs 4831ms 4.1ms 145.1MB 4760ms 60ms dotnet 7.0.102
csharp 1.cs timeout 0.0ms 49.7MB 4947ms 43ms mono 6.12.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 73ms 3.0ms 12.2MB 70ms 0ms dotnet/aot 7.0.102
d 1.d 75ms 0.9ms 3.7MB 70ms 0ms ldc2 1.30.0
d 1.d 110ms 0.8ms 5.1MB 100ms 0ms dmd 2.102.0
csharp 2.cs 111ms 1.4ms 27.3MB 100ms 0ms mono 6.12.0
csharp 2.cs 159ms 4.8ms 100.0MB 107ms 23ms dotnet 7.0.102
csharp 1.cs 4299ms 4.1ms 55.2MB 4263ms 23ms dotnet/aot 7.0.102
csharp 1.cs 4553ms 42ms 141.1MB 4467ms 43ms dotnet 7.0.102
csharp 1.cs 4613ms 9.1ms 31.3MB 4597ms 0ms mono 6.12.0

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 608ms 2.6ms 7.1MB 593ms 0ms ldc2 1.30.0
csharp 2.cs 739ms 25ms 153.2MB 660ms 43ms dotnet 7.0.102
d 1.d 2901ms 193ms 7.9MB 2887ms 0ms dmd 2.102.0
csharp 3.cs 3410ms 11ms 111.6MB 3357ms 23ms dotnet 7.0.102
csharp 1.cs 3427ms 7.0ms 109.1MB 3367ms 27ms dotnet 7.0.102
csharp 3.cs 3838ms 20ms 19.5MB 3827ms 0ms dotnet/aot 7.0.102
csharp 1.cs 4985ms 4.3ms 19.7MB 4970ms 0ms dotnet/aot 7.0.102
csharp 1.cs timeout 0.0ms 25.2MB 4977ms 0ms mono 6.12.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 28ms 0.4ms 3.0MB 20ms 0ms ldc2 1.30.0
d 1.d 118ms 0.5ms 3.7MB 110ms 0ms dmd 2.102.0
csharp 3.cs 169ms 0.5ms 14.9MB 160ms 0ms dotnet/aot 7.0.102
csharp 2.cs 171ms 21ms 111.6MB 117ms 23ms dotnet 7.0.102
csharp 1.cs 217ms 2.4ms 13.2MB 210ms 0ms dotnet/aot 7.0.102
csharp 1.cs 231ms 4.1ms 105.9MB 177ms 20ms dotnet 7.0.102
csharp 3.cs 247ms 0.6ms 108.4MB 187ms 30ms dotnet 7.0.102
csharp 1.cs 741ms 1.6ms 29.4MB 723ms 3ms mono 6.12.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 922ms 6.2ms 378.5MB 783ms 183ms dotnet/aot 7.0.102
csharp 1.cs 967ms 1.1ms 313.5MB 853ms 137ms dotnet/aot 7.0.102
csharp 2.cs 1115ms 10ms 492.0MB 890ms 233ms dotnet 7.0.102
csharp 1.cs 1151ms 7.1ms 499.3MB 970ms 213ms dotnet 7.0.102
d 1.d 1591ms 1.6ms 74.8MB 1653ms 17ms ldc2 1.30.0
csharp 1.cs 1944ms 32ms 143.5MB 2473ms 120ms mono 6.12.0
d 1.d 2722ms 3.1ms 154.0MB 3030ms 40ms dmd 2.102.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 212ms 5.9ms 138.0MB 163ms 43ms dotnet/aot 7.0.102
csharp 1.cs 243ms 2.8ms 148.5MB 183ms 53ms dotnet/aot 7.0.102
d 1.d 316ms 1.9ms 38.9MB 293ms 10ms ldc2 1.30.0
csharp 1.cs 349ms 6.0ms 71.9MB 327ms 40ms mono 6.12.0
csharp 2.cs 366ms 4.4ms 206.1MB 270ms 80ms dotnet 7.0.102
csharp 1.cs 409ms 21ms 258.7MB 273ms 97ms dotnet 7.0.102
d 1.d 560ms 4.4ms 40.4MB 600ms 3ms dmd 2.102.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 9.cs 448ms 2.3ms 102.2MB 397ms 23ms dotnet 7.0.102
d 1.d 463ms 0.1ms 1.6MB 450ms 0ms ldc2 1.30.0
d 2.d 468ms 1.8ms 1.6MB 457ms 0ms ldc2 1.30.0
csharp 8.cs 580ms 4.8ms 12.2MB 577ms 0ms dotnet/aot 7.0.102
csharp 8.cs 635ms 6.9ms 100.1MB 573ms 27ms dotnet 7.0.102
d 1.d 1242ms 0.2ms 2.7MB 1230ms 0ms dmd 2.102.0
csharp 8.cs 1299ms 31ms 24.8MB 1287ms 0ms mono 6.12.0
d 2.d 2199ms 6.7ms 2.6MB 2190ms 0ms dmd 2.102.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 49ms 0.3ms 1.5MB 40ms 0ms ldc2 1.30.0
d 2.d 51ms 0.2ms 1.6MB 40ms 0ms ldc2 1.30.0
csharp 8.cs 67ms 2.9ms 12.1MB 63ms 0ms dotnet/aot 7.0.102
csharp 9.cs 124ms 3.7ms 101.9MB 80ms 20ms dotnet 7.0.102
d 1.d 127ms 0.3ms 2.6MB 117ms 0ms dmd 2.102.0
csharp 8.cs 139ms 1.0ms 102.0MB 93ms 20ms dotnet 7.0.102
csharp 8.cs 159ms 5.7ms 24.9MB 140ms 3ms mono 6.12.0
d 2.d 224ms 2.2ms 2.6MB 210ms 0ms dmd 2.102.0

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 2.cs 659ms 5.1ms 21.7MB 647ms 0ms dotnet/aot 7.0.102
csharp 2.cs 782ms 5.7ms 107.2MB 727ms 30ms dotnet 7.0.102
d 2.d 851ms 3.2ms 48.4MB 813ms 23ms ldc2 1.30.0
csharp 1.cs 941ms 20ms 71.8MB 917ms 20ms dotnet/aot 7.0.102
d 1.d 973ms 36ms 75.3MB 937ms 17ms dmd 2.102.0
d 1.d 1253ms 18ms 42.4MB 1220ms 13ms ldc2 1.30.0
csharp 1.cs 1256ms 13ms 86.6MB 1213ms 30ms mono 6.12.0
csharp 1.cs 1489ms 60ms 159.0MB 1407ms 57ms dotnet 7.0.102
d 2.d 1558ms 2.0ms 49.9MB 1530ms 10ms dmd 2.102.0
csharp 2.cs 2819ms 24ms 34.0MB 2800ms 0ms mono 6.12.0

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 129ms 7.2ms 13.4MB 113ms 0ms ldc2 1.30.0
d 1.d 140ms 1.8ms 24.6MB 127ms 3ms dmd 2.102.0
csharp 1.cs 148ms 5.7ms 29.8MB 137ms 7ms dotnet/aot 7.0.102
csharp 2.cs 154ms 1.2ms 15.4MB 150ms 0ms dotnet/aot 7.0.102
d 2.d 196ms 1.4ms 15.1MB 180ms 0ms ldc2 1.30.0
csharp 1.cs 198ms 1.1ms 42.8MB 177ms 3ms mono 6.12.0
csharp 2.cs 244ms 0.6ms 100.7MB 187ms 23ms dotnet 7.0.102
csharp 1.cs 356ms 7.8ms 117.0MB 297ms 30ms dotnet 7.0.102
d 2.d 386ms 0.7ms 16.1MB 370ms 0ms dmd 2.102.0
csharp 2.cs 672ms 0.6ms 25.9MB 657ms 3ms mono 6.12.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 3024ms 5.6ms 7.8MB 3013ms 20ms ldc2 1.30.0
csharp 1.cs 4777ms 8.2ms 57.3MB 4743ms 40ms dotnet/aot 7.0.102
csharp 1.cs 4893ms 9.0ms 155.4MB 4837ms 113ms dotnet 7.0.102
d 1.d timeout 0.0ms 9.4MB 5000ms 7ms dmd 2.102.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 729ms 3.5ms 7.9MB 717ms 0ms ldc2 1.30.0
csharp 1.cs 1134ms 1.8ms 58.7MB 1107ms 23ms dotnet/aot 7.0.102
csharp 1.cs 1225ms 2.5ms 155.8MB 1200ms 57ms dotnet 7.0.102
d 1.d 1409ms 1.1ms 9.4MB 1393ms 7ms dmd 2.102.0

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 3.d 765ms 5.5ms 170.8MB 933ms 60ms ldc2 1.30.0
d 3.d 1684ms 8.3ms 171.4MB 1860ms 63ms dmd 2.102.0
csharp 5.cs 3174ms 7.1ms 598.3MB 3123ms 237ms dotnet 7.0.102
csharp 6.cs 3664ms 57ms 592.5MB 3513ms 227ms dotnet 7.0.102
csharp 6.cs 3692ms 7.2ms 457.6MB 3580ms 167ms dotnet/aot 7.0.102
csharp 5.cs timeout 0.0ms 184.1MB 4953ms 93ms dotnet/aot 7.0.102

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 3.d 84ms 1.7ms 24.9MB 83ms 7ms ldc2 1.30.0
d 3.d 176ms 3.3ms 25.3MB 183ms 0ms dmd 2.102.0
csharp 6.cs 387ms 3.2ms 69.5MB 353ms 33ms dotnet/aot 7.0.102
csharp 5.cs 481ms 3.9ms 168.2MB 393ms 67ms dotnet 7.0.102
csharp 6.cs 571ms 1.5ms 163.5MB 457ms 67ms dotnet 7.0.102
csharp 5.cs 699ms 2.1ms 70.3MB 663ms 30ms dotnet/aot 7.0.102

secp256k1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 4232ms 13ms 58.0MB 4203ms 23ms dotnet/aot 7.0.102
csharp 1.cs 4378ms 49ms 152.1MB 4320ms 63ms dotnet 7.0.102
d 1.d timeout 0.0ms 6.0MB 5003ms 0ms dmd 2.102.0
d 1.d timeout 0.0ms 3.7MB 4987ms 13ms ldc2 1.30.0

Input: 500

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 1.cs 1086ms 4.7ms 57.8MB 1060ms 17ms dotnet/aot 7.0.102
csharp 1.cs 1267ms 45ms 147.0MB 1203ms 57ms dotnet 7.0.102
d 1.d 1514ms 25ms 3.7MB 1500ms 7ms ldc2 1.30.0
d 1.d 2995ms 5.5ms 6.0MB 2987ms 0ms dmd 2.102.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 2157ms 59ms 13.7MB 4067ms 7ms dotnet/aot 7.0.102
d 1.d 3633ms 1.8ms 3.8MB 3620ms 0ms ldc2 1.30.0
d 1.d 4206ms 8.2ms 5.5MB 4187ms 3ms dmd 2.102.0
csharp 3-m.cs 4304ms 209ms 102.9MB 7280ms 33ms dotnet 7.0.102
csharp 3.cs timeout 0.0ms 27.0MB 9767ms 7ms mono 6.12.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 541ms 2.0ms 12.0MB 1027ms 3ms dotnet/aot 7.0.102
d 1.d 913ms 2.2ms 3.6MB 900ms 0ms ldc2 1.30.0
d 1.d 1054ms 0.3ms 4.7MB 1040ms 0ms dmd 2.102.0
csharp 3-m.cs 1131ms 2.6ms 102.5MB 2010ms 40ms dotnet 7.0.102
csharp 3-m.cs 2696ms 136ms 27.7MB 5060ms 17ms mono 6.12.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
csharp 3-m.cs 152ms 2.5ms 12.3MB 267ms 3ms dotnet/aot 7.0.102
d 1.d 232ms 1.2ms 3.2MB 220ms 0ms ldc2 1.30.0
d 1.d 268ms 1.9ms 4.2MB 257ms 0ms dmd 2.102.0
csharp 3-m.cs 376ms 2.3ms 104.4MB 563ms 30ms dotnet 7.0.102
csharp 3-m.cs 686ms 9.6ms 27.8MB 1283ms 0ms mono 6.12.0