Java VS D benchmarks

Current benchmark data was generated on Sun Dec 01 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 471ms 5.6ms 648.0MB 570ms 103ms openjdk 23
java 2-m.java 482ms 17ms 645.0MB 687ms 103ms graal/jvm 17.0.8
java 2.java 530ms 1.5ms 571.1MB 573ms 137ms openjdk 21
java 2.java 1186ms 22ms 1052.1MB 590ms 767ms openjdk/zgc 21
d 1.d 1733ms 100ms 312.5MB 1707ms 33ms ldc2 1.39.0
d 1.d 2677ms 15ms 314.4MB 2853ms 47ms dmd 2.109.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2.java 128ms 1.7ms 166.9MB 153ms 33ms openjdk 21
java 2.java 130ms 5.1ms 98.0MB 157ms 37ms openjdk 23
java 2-m.java 157ms 17ms 230.2MB 233ms 53ms graal/jvm 17.0.8
d 1.d 157ms 1.1ms 208.7MB 130ms 13ms ldc2 1.39.0
d 1.d 235ms 9.2ms 209.9MB 203ms 13ms dmd 2.109.1
java 2.java 309ms 7.0ms 243.6MB 153ms 207ms openjdk/zgc 21

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 586ms 39ms 264.1MB 1630ms 67ms openjdk 21
java 1-m.java 603ms 30ms 227.8MB 1633ms 67ms openjdk 23
java 1-m.java 623ms 39ms 404.3MB 1197ms 110ms graal/jvm 17.0.8
java 1-m.java 944ms 27ms 514.3MB 1567ms 430ms openjdk/zgc 21
d 1.d 2550ms 21ms 8.0MB 2537ms 0ms ldc2 1.39.0
d 1.d 2923ms 8.2ms 10.5MB 2910ms 10ms dmd 2.109.1

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 299ms 8.0ms 230.9MB 583ms 73ms graal/jvm 17.0.8
java 1-m.java 343ms 18ms 178.5MB 930ms 43ms openjdk 21
java 1-m.java 394ms 8.3ms 112.4MB 1053ms 53ms openjdk 23
d 1.d 439ms 0.9ms 8.1MB 423ms 0ms ldc2 1.39.0
java 1-m.java 493ms 2.1ms 215.3MB 953ms 217ms openjdk/zgc 21
d 1.d 534ms 2.0ms 10.2MB 523ms 0ms dmd 2.109.1

fannkuch-redux

Input: 11

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1-im.d 399ms 45ms 5.1MB 1410ms 0ms ldc2 1.39.0
java 1-m.java 897ms 23ms 100.1MB 3263ms 53ms graal/jvm 17.0.8
java 1-m.java 965ms 57ms 50.0MB 3537ms 20ms openjdk 23
java 1-m.java 983ms 6.8ms 49.0MB 3597ms 37ms openjdk 21
java 1-m.java 1043ms 9.0ms 46.1MB 3407ms 143ms openjdk/zgc 21
d 2-im.d 1114ms 10ms 5.1MB 4297ms 0ms ldc2 1.39.0
d 1-i.d 1488ms 14ms 2.9MB 1480ms 0ms ldc2 1.39.0
d 1.d 3139ms 35ms 2.9MB 3130ms 0ms ldc2 1.39.0
d 2-i.d 3221ms 2.5ms 2.9MB 3210ms 0ms ldc2 1.39.0
d 1.d 3537ms 17ms 4.6MB 3523ms 0ms dmd 2.109.1
d 1-im.d 4241ms 40ms 8.9MB 16490ms 7ms dmd 2.109.1
d 1-i.d timeout 0.0ms 4.5MB 4987ms 0ms dmd 2.109.1
d 2-i.d timeout 0.0ms 4.6MB 4990ms 0ms dmd 2.109.1
d 2-im.d timeout 0.0ms 6.8MB 19780ms 7ms dmd 2.109.1

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1-im.d 40ms 1.9ms 5.1MB 110ms 0ms ldc2 1.39.0
d 2-im.d 110ms 20ms 6.9MB 337ms 3ms ldc2 1.39.0
d 1-i.d 124ms 0.4ms 2.8MB 110ms 0ms ldc2 1.39.0
java 1-m.java 180ms 5.5ms 48.5MB 493ms 23ms openjdk 21
java 1-m.java 194ms 5.8ms 50.1MB 480ms 23ms openjdk 23
java 1-m.java 202ms 11ms 101.4MB 547ms 33ms graal/jvm 17.0.8
d 1.d 263ms 2.2ms 2.8MB 253ms 0ms ldc2 1.39.0
d 2-i.d 266ms 0.8ms 2.8MB 260ms 0ms ldc2 1.39.0
java 1-m.java 295ms 2.3ms 45.7MB 483ms 137ms openjdk/zgc 21
d 1.d 296ms 2.0ms 4.5MB 287ms 0ms dmd 2.109.1
d 1-im.d 359ms 0.1ms 8.9MB 1343ms 0ms dmd 2.109.1
d 2-im.d 545ms 24ms 6.8MB 1990ms 0ms dmd 2.109.1
d 1-i.d 860ms 8.9ms 4.5MB 850ms 0ms dmd 2.109.1
d 2-i.d 1389ms 18ms 4.5MB 1377ms 0ms dmd 2.109.1

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 196ms 1.3ms 33.2MB 177ms 7ms ldc2 1.39.0
java 4.java 457ms 0.7ms 47.4MB 543ms 20ms openjdk 21
java 4-m.java 462ms 19ms 104.6MB 670ms 43ms graal/jvm 17.0.8
java 4.java 466ms 9.2ms 49.3MB 567ms 17ms openjdk 23
java 4.java 568ms 6.1ms 47.0MB 550ms 133ms openjdk/zgc 21
d 1.d 620ms 0.6ms 51.0MB 610ms 0ms dmd 2.109.1

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 24ms 0.1ms 8.1MB 20ms 0ms ldc2 1.39.0
d 1.d 67ms 1.4ms 10.1MB 53ms 7ms dmd 2.109.1
java 4-m.java 124ms 4.1ms 87.9MB 163ms 30ms graal/jvm 17.0.8
java 4.java 127ms 1.0ms 46.1MB 170ms 17ms openjdk 21
java 4.java 132ms 2.0ms 47.8MB 177ms 17ms openjdk 23
java 4.java 241ms 3.8ms 43.8MB 153ms 140ms openjdk/zgc 21

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 1.4ms 0.8ms 3.0MB 0ms 0ms ldc2 1.39.0
d 1.d 2.2ms 0.4ms 5.0MB 0ms 0ms dmd 2.109.1
java 1.java 68ms 3.0ms 59.0MB 70ms 20ms graal/jvm 17.0.8
java 1.java 73ms 4.6ms 44.8MB 74ms 22ms openjdk 23
java 1.java 77ms 1.6ms 43.8MB 76ms 20ms openjdk 21
java 1.java 187ms 4.1ms 44.6MB 82ms 128ms openjdk/zgc 21

knucleotide

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1-m.d 715ms 16ms 51.1MB 2293ms 20ms ldc2 1.39.0
java 3-m.java 992ms 16ms 155.1MB 3317ms 67ms openjdk 23
java 3-m.java 1000ms 78ms 127.5MB 3403ms 30ms openjdk 21
java 3-m.java 1150ms 14ms 183.6MB 3873ms 70ms graal/jvm 17.0.8
java 3-m.java 1444ms 61ms 180.9MB 4577ms 197ms openjdk/zgc 21
d 1-m.d 1907ms 5.2ms 61.4MB 5853ms 10ms dmd 2.109.1

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1-m.d 127ms 22ms 43.7MB 313ms 7ms ldc2 1.39.0
d 1-m.d 223ms 7.0ms 43.9MB 627ms 17ms dmd 2.109.1
java 3-m.java 332ms 16ms 101.3MB 963ms 43ms openjdk 21
java 3-m.java 345ms 27ms 89.8MB 977ms 67ms openjdk 23
java 3-m.java 361ms 32ms 141.0MB 980ms 53ms graal/jvm 17.0.8
java 3-m.java 440ms 3.1ms 98.5MB 930ms 167ms openjdk/zgc 21

mandelbrot

Input: 5000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 407ms 2.1ms 6.7MB 390ms 0ms ldc2 1.39.0
java 1b.java 1164ms 9.6ms 54.3MB 1273ms 23ms openjdk 21
java 1b.java 1171ms 5.3ms 55.9MB 1297ms 20ms openjdk 23
java 1b.java 1181ms 39ms 108.6MB 1363ms 33ms graal/jvm 17.0.8
java 1.java 1260ms 13ms 139.9MB 1367ms 57ms graal/jvm 17.0.8
java 1b.java 1278ms 21ms 51.4MB 1277ms 130ms openjdk/zgc 21
java 1a.java 1654ms 9.2ms 54.9MB 1747ms 27ms openjdk 21
java 1a.java 1665ms 2.2ms 55.5MB 1770ms 27ms openjdk 23
java 1a.java 1688ms 16ms 105.6MB 1807ms 37ms graal/jvm 17.0.8
java 1.java 1701ms 1.3ms 202.3MB 1780ms 37ms openjdk 21
java 1.java 1709ms 2.1ms 314.7MB 1770ms 53ms openjdk 23
java 1a.java 1780ms 5.2ms 53.7MB 1753ms 147ms openjdk/zgc 21
d 1.d 2343ms 397ms 9.3MB 2330ms 0ms dmd 2.109.1
java 1.java 2351ms 5.1ms 853.8MB 1813ms 637ms openjdk/zgc 21
java 2.java timeout 0.0ms 606.2MB 5250ms 140ms openjdk 21
java 2.java timeout 0.0ms 772.9MB 5320ms 140ms openjdk 23
java 2.java timeout 0.0ms 3284.3MB 3460ms 1913ms openjdk/zgc 21

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 20ms 0.3ms 3.0MB 10ms 0ms ldc2 1.39.0
d 1.d 91ms 1.2ms 4.5MB 80ms 0ms dmd 2.109.1
java 1b-m.java 181ms 13ms 49.6MB 290ms 20ms openjdk 21
java 1.java 196ms 12ms 82.1MB 267ms 27ms openjdk 21
java 1b-m.java 198ms 8.9ms 51.2MB 310ms 20ms openjdk 23
java 1a-m.java 199ms 3.5ms 50.3MB 310ms 17ms openjdk 21
java 1-m.java 200ms 2.7ms 87.0MB 277ms 33ms openjdk 23
java 1a-m.java 201ms 5.5ms 52.1MB 303ms 20ms openjdk 23
java 1-m.java 204ms 14ms 115.4MB 317ms 40ms graal/jvm 17.0.8
java 1a-m.java 211ms 6.8ms 102.6MB 307ms 50ms graal/jvm 17.0.8
java 1b-m.java 233ms 15ms 104.0MB 400ms 40ms graal/jvm 17.0.8
java 1b.java 308ms 1.6ms 49.4MB 303ms 137ms openjdk/zgc 21
java 1a.java 315ms 3.0ms 49.9MB 300ms 133ms openjdk/zgc 21
java 1.java 338ms 4.9ms 116.4MB 270ms 160ms openjdk/zgc 21
java 2-m.java 579ms 14ms 826.3MB 843ms 127ms openjdk 23
java 2-m.java 621ms 39ms 586.7MB 887ms 127ms openjdk 21
java 2.java 1590ms 18ms 1349.9MB 863ms 1037ms openjdk/zgc 21

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 401ms 2.9ms 679.9MB 473ms 90ms openjdk 21
java 1.java 405ms 5.1ms 539.3MB 507ms 87ms openjdk 23
java 1-m.java 417ms 30ms 635.2MB 610ms 123ms graal/jvm 17.0.8
d 1.d 945ms 3.3ms 312.5MB 900ms 43ms ldc2 1.39.0
java 1.java 1094ms 19ms 989.4MB 447ms 767ms openjdk/zgc 21
d 1.d 1727ms 10ms 314.5MB 1840ms 57ms dmd 2.109.1

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 166ms 3.4ms 159.1MB 243ms 40ms openjdk 23
java 1-m.java 166ms 2.4ms 206.3MB 243ms 40ms openjdk 21
d 1.d 195ms 0.7ms 312.7MB 153ms 30ms ldc2 1.39.0
java 1-m.java 225ms 28ms 258.5MB 380ms 57ms graal/jvm 17.0.8
d 1.d 338ms 0.9ms 314.8MB 293ms 33ms dmd 2.109.1
java 1.java 442ms 45ms 341.6MB 223ms 290ms openjdk/zgc 21

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 2.d 360ms 1.4ms 2.8MB 347ms 0ms ldc2 1.39.0
d 1.d 360ms 1.1ms 2.9MB 350ms 0ms ldc2 1.39.0
java 1.java 443ms 2.2ms 45.3MB 480ms 13ms openjdk 21
java 1.java 448ms 1.5ms 48.5MB 483ms 20ms openjdk 23
java 1.java 450ms 4.6ms 83.3MB 477ms 30ms graal/jvm 17.0.8
java 1.java 569ms 1.3ms 46.9MB 493ms 137ms openjdk/zgc 21
d 1.d 679ms 3.1ms 4.6MB 667ms 0ms dmd 2.109.1
java 2.java 1248ms 2.9ms 611.8MB 1370ms 97ms openjdk 21
java 2.java 1255ms 4.8ms 780.5MB 1383ms 97ms openjdk 23
d 2.d 2034ms 49ms 4.6MB 2023ms 0ms dmd 2.109.1
java 2.java 3283ms 56ms 2413.4MB 1647ms 1847ms openjdk/zgc 21

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 39ms 0.2ms 2.9MB 30ms 0ms ldc2 1.39.0
d 2.d 39ms 0.1ms 2.8MB 30ms 0ms ldc2 1.39.0
d 1.d 71ms 0.3ms 4.6MB 60ms 0ms dmd 2.109.1
java 1.java 120ms 2.1ms 87.3MB 137ms 37ms graal/jvm 17.0.8
java 1.java 121ms 1.0ms 45.4MB 163ms 17ms openjdk 21
java 1.java 123ms 1.3ms 48.3MB 157ms 13ms openjdk 23
d 2.d 208ms 1.2ms 4.6MB 200ms 0ms dmd 2.109.1
java 1.java 245ms 0.4ms 44.9MB 160ms 140ms openjdk/zgc 21
java 2-m.java 307ms 2.9ms 343.0MB 450ms 57ms openjdk 21
java 2-m.java 313ms 5.4ms 387.7MB 447ms 67ms openjdk 23
java 2.java 704ms 8.8ms 536.4MB 473ms 420ms openjdk/zgc 21

nsieve

Input: 12

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 315ms 3.8ms 77.2MB 293ms 0ms dmd 2.109.1
d 1.d 320ms 5.7ms 43.7MB 293ms 10ms ldc2 1.39.0
java 1.java 420ms 1.7ms 118.1MB 460ms 20ms openjdk 23
java 1.java 432ms 8.9ms 115.2MB 487ms 20ms openjdk 21
java 1.java 604ms 2.3ms 112.6MB 513ms 163ms openjdk/zgc 21
java 1-m.java 703ms 85ms 239.9MB 1043ms 80ms graal/jvm 17.0.8
java 2.java 781ms 3.3ms 60.6MB 833ms 13ms openjdk 23
java 2.java 789ms 8.6ms 57.0MB 850ms 20ms openjdk 21
d 2.d 817ms 3.4ms 47.7MB 800ms 3ms ldc2 1.39.0
java 2.java 844ms 0.9ms 55.1MB 773ms 147ms openjdk/zgc 21
d 2.d 1161ms 3.7ms 49.3MB 1140ms 3ms dmd 2.109.1
java 2-m.java 1312ms 74ms 240.5MB 2287ms 103ms graal/jvm 17.0.8

Input: 10

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 65ms 1.0ms 13.7MB 53ms 0ms ldc2 1.39.0
d 1.d 67ms 1.7ms 24.0MB 57ms 0ms dmd 2.109.1
java 1.java 158ms 0.5ms 68.0MB 200ms 23ms openjdk 23
java 1.java 164ms 12ms 64.9MB 210ms 27ms openjdk 21
d 2.d 206ms 0.2ms 15.7MB 193ms 0ms ldc2 1.39.0
java 1-m.java 247ms 12ms 144.7MB 343ms 60ms graal/jvm 17.0.8
java 2.java 260ms 4.2ms 50.2MB 320ms 23ms openjdk 21
java 2.java 264ms 2.9ms 50.4MB 313ms 23ms openjdk 23
java 1.java 288ms 1.8ms 61.6MB 210ms 147ms openjdk/zgc 21
d 2.d 291ms 1.2ms 17.6MB 277ms 3ms dmd 2.109.1
java 2.java 368ms 4.5ms 49.4MB 317ms 130ms openjdk/zgc 21
java 2-m.java 474ms 5.2ms 194.3MB 823ms 70ms graal/jvm 17.0.8

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 2406ms 16ms 7.9MB 2367ms 377ms ldc2 1.39.0
java 1.java 3200ms 37ms 447.4MB 3680ms 97ms graal/jvm 17.0.8
java 1.java 3677ms 90ms 388.1MB 4527ms 123ms openjdk 23
java 1.java 3700ms 76ms 423.2MB 4547ms 120ms openjdk 21
d 1.d 4355ms 15ms 10.1MB 4377ms 377ms dmd 2.109.1
java 1.java timeout 0.0ms 2012.2MB 4660ms 1187ms openjdk/zgc 21

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 585ms 12ms 8.1MB 567ms 120ms ldc2 1.39.0
java 1-m.java 918ms 18ms 448.8MB 1310ms 90ms graal/jvm 17.0.8
java 1-m.java 1015ms 31ms 352.4MB 1803ms 90ms openjdk 21
d 1.d 1036ms 3.9ms 10.2MB 1010ms 113ms dmd 2.109.1
java 1-m.java 1038ms 10ms 370.6MB 1787ms 90ms openjdk 23
java 1.java 2036ms 48ms 1391.2MB 1720ms 1087ms openjdk/zgc 21

regex-redux

Input: 2500000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 3.d 646ms 60ms 170.7MB 847ms 20ms ldc2 1.39.0
d 3.d 1336ms 1.5ms 173.4MB 1517ms 23ms dmd 2.109.1
java 3.java timeout 0.0ms 408.6MB 5413ms 107ms graal/jvm 17.0.8
java 3.java timeout 0.0ms 302.3MB 5323ms 63ms openjdk 21
java 3.java timeout 0.0ms 304.9MB 5340ms 50ms openjdk 23
java 3.java timeout 0.0ms 469.2MB 4963ms 290ms openjdk/zgc 21

Input: 250000_in

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 3.d 71ms 4.6ms 26.6MB 80ms 3ms ldc2 1.39.0
d 3.d 144ms 4.9ms 28.3MB 153ms 0ms dmd 2.109.1
java 3-m.java 799ms 12ms 133.4MB 1223ms 20ms openjdk 21
java 3-m.java 812ms 4.9ms 182.3MB 1223ms 57ms graal/jvm 17.0.8
java 3-m.java 825ms 12ms 132.6MB 1253ms 30ms openjdk 23
java 3.java 988ms 40ms 134.2MB 1170ms 193ms openjdk/zgc 21

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2-m.java 1952ms 6.8ms 47.7MB 7430ms 20ms openjdk 21
java 2-m.java 1972ms 7.8ms 48.4MB 7477ms 27ms openjdk 23
java 2-m.java 2092ms 3.1ms 45.2MB 7480ms 157ms openjdk/zgc 21
java 2-m.java 2443ms 23ms 101.0MB 8710ms 50ms graal/jvm 17.0.8
d 1.d 3581ms 0.9ms 4.0MB 3570ms 0ms ldc2 1.39.0
d 1.d 3647ms 53ms 5.9MB 3633ms 0ms dmd 2.109.1

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 2-m.java 595ms 4.1ms 49.1MB 2077ms 30ms openjdk 23
java 2-m.java 595ms 6.5ms 47.6MB 2087ms 20ms openjdk 21
java 2-m.java 718ms 4.6ms 47.3MB 2043ms 143ms openjdk/zgc 21
java 2-m.java 738ms 17ms 99.2MB 2487ms 33ms graal/jvm 17.0.8
d 1.d 897ms 1.4ms 3.6MB 887ms 0ms ldc2 1.39.0
d 1.d 909ms 3.9ms 5.3MB 897ms 0ms dmd 2.109.1

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
d 1.d 227ms 0.3ms 3.3MB 220ms 0ms ldc2 1.39.0
d 1.d 230ms 0.5ms 4.8MB 220ms 0ms dmd 2.109.1
java 2-m.java 238ms 1.1ms 47.6MB 670ms 33ms openjdk 21
java 2-m.java 246ms 2.6ms 48.9MB 710ms 23ms openjdk 23
java 2-m.java 277ms 22ms 96.4MB 793ms 27ms graal/jvm 17.0.8
java 2-m.java 370ms 2.2ms 47.2MB 717ms 143ms 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 1892ms 152ms 260.4MB 7077ms 137ms openjdk 21
java 1-m.java 2285ms 225ms 241.9MB 8653ms 137ms openjdk 23
java 1-m.java 2814ms 339ms 1205.1MB 8973ms 1127ms openjdk/zgc 21
d 1.d timeout 0.0ms 16.1MB 4970ms 20ms dmd 2.109.1
d 1.d timeout 0.0ms 15.5MB 4960ms 27ms ldc2 1.39.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1-m.java 407ms 11ms 119.1MB 1330ms 63ms openjdk 21
java 1-m.java 425ms 21ms 91.8MB 1383ms 57ms openjdk 23
java 1-m.java 663ms 29ms 209.0MB 1780ms 253ms openjdk/zgc 21
d 1.d 1034ms 18ms 8.4MB 1010ms 10ms ldc2 1.39.0
d 1.d 1318ms 12ms 10.6MB 1300ms 7ms dmd 2.109.1