Acton VS Java benchmarks

Current benchmark data was generated on Thu Feb 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.)

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 518ms 8.0ms 12.4MB 543ms 47ms actonc 0.19.2
java 1-m.java 652ms 40ms 265.4MB 1723ms 73ms openjdk 23
java 1-m.java 673ms 9.3ms 264.3MB 1770ms 67ms openjdk 21
java 1-m.java 695ms 70ms 353.3MB 1313ms 137ms graal/jvm 17.0.8
java 1-m.java 969ms 31ms 521.1MB 1597ms 453ms openjdk/zgc 21

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 167ms 8.8ms 10.8MB 153ms 30ms actonc 0.19.2
java 1-m.java 320ms 17ms 241.0MB 623ms 73ms graal/jvm 17.0.8
java 1-m.java 360ms 30ms 179.2MB 963ms 63ms openjdk 21
java 1-m.java 372ms 19ms 173.4MB 1023ms 43ms openjdk 23
java 1-m.java 513ms 31ms 215.7MB 987ms 223ms openjdk/zgc 21

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
acton 1.act 4.2ms 0.4ms 6.4MB 0ms 0ms actonc 0.19.2
java 1.java 66ms 3.1ms 54.7MB 64ms 24ms graal/jvm 17.0.8
java 1.java 73ms 1.9ms 43.8MB 74ms 14ms openjdk 21
java 1.java 73ms 2.7ms 43.9MB 80ms 14ms openjdk 23
java 1.java 189ms 6.4ms 42.6MB 84ms 132ms openjdk/zgc 21

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 3191ms 33ms 448.1MB 3637ms 107ms graal/jvm 17.0.8
java 1.java 3685ms 53ms 351.8MB 4547ms 103ms openjdk 21
java 1.java 3771ms 108ms 349.5MB 4527ms 107ms openjdk 23
acton 1.act timeout 0.0ms 10.8MB 7663ms 1610ms actonc 0.19.2
java 1.java timeout 0.0ms 1824.0MB 4710ms 1153ms openjdk/zgc 21

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
java 1.java 886ms 25ms 443.5MB 1233ms 90ms graal/jvm 17.0.8
java 1-m.java 985ms 30ms 350.6MB 1777ms 103ms openjdk 21
java 1-m.java 1029ms 9.0ms 353.0MB 1767ms 87ms openjdk 23
acton 1-m.act 1681ms 170ms 10.7MB 2257ms 673ms actonc 0.19.2
java 1.java 1995ms 36ms 1348.5MB 1753ms 1007ms openjdk/zgc 21