Lua VS Chapel benchmarks

Current benchmark data was generated on Fri May 20 2022, full log can be found HERE

CONTRIBUTIONS are WELCOME!

[x86_64][2 cores] Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (Model 106)

* -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
chapel 4.chpl 2346ms 6.5ms 64.0MB 2320ms 17ms chpl 1.26.0
chapel 3.chpl 2513ms 24ms 64.0MB 2487ms 17ms chpl 1.26.0
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms luajit 2.1.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 4.chpl 226ms 2.7ms 34.1MB 207ms 3ms chpl 1.26.0
chapel 3.chpl 228ms 2.1ms 34.3MB 213ms 3ms chpl 1.26.0
lua 1.lua 452ms 1.9ms 25.4MB 427ms 7ms luajit 2.1.0
lua 1.lua 1073ms 10ms 17.3MB 1053ms 3ms lua 5.4.4

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
lua 1.lua 2.2ms 0.7ms 2.2MB 0ms 0ms luajit 2.1.0
lua 1.lua 2.5ms 0.9ms 1.1MB 0ms 0ms lua 5.4.4
chapel 1.chpl 18ms 0.9ms 32.4MB 8ms 3ms chpl 1.26.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms luajit 2.1.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
lua 1.lua 1838ms 17ms 35.5MB 1817ms 7ms luajit 2.1.0
lua 1.lua 2924ms 30ms 41.4MB 2900ms 7ms lua 5.4.4

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 363ms 1.3ms 32.4MB 350ms 0ms chpl 1.26.0
lua 4.lua 1145ms 21ms 2.4MB 1137ms 0ms luajit 2.1.0
lua 4.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 56ms 0.5ms 32.4MB 50ms 0ms chpl 1.26.0
lua 4.lua 119ms 0.9ms 2.3MB 110ms 0ms luajit 2.1.0
lua 4.lua 1178ms 9.7ms 1.1MB 1167ms 0ms lua 5.4.4

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1-m.chpl 2311ms 70ms 32.5MB 4457ms 10ms chpl 1.26.0
chapel 1.chpl 4377ms 1.0ms 32.4MB 4360ms 7ms chpl 1.26.0
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms luajit 2.1.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1-m.chpl 582ms 1.7ms 32.4MB 1110ms 3ms chpl 1.26.0
chapel 1.chpl 1110ms 0.6ms 32.4MB 1097ms 3ms chpl 1.26.0
lua 1.lua 1561ms 2.0ms 2.4MB 1550ms 0ms luajit 2.1.0
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1-m.chpl 165ms 0.5ms 32.4MB 283ms 3ms chpl 1.26.0
chapel 1.chpl 295ms 1.0ms 32.4MB 283ms 3ms chpl 1.26.0
lua 1.lua 394ms 0.7ms 2.3MB 380ms 0ms luajit 2.1.0
lua 1.lua timeout 0.0ms 0.0MB 0ms 0ms lua 5.4.4

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
lua 1.lua 520ms 0.3ms 5.0MB 510ms 0ms luajit 2.1.0
chapel 1-m.chpl 4114ms 58ms 71.5MB 8013ms 37ms chpl 1.26.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
lua 1.lua 37ms 0.5ms 2.9MB 23ms 0ms luajit 2.1.0
chapel 1-m.chpl 281ms 1.3ms 44.2MB 503ms 10ms chpl 1.26.0