Lua VS Chapel benchmarks

Current benchmark data was generated on Sun Jan 29 2023, 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 2288ms 2.0ms 39.5MB 2273ms 7ms chpl 1.29.0
chapel 3.chpl 2480ms 30ms 37.5MB 2453ms 7ms chpl 1.29.0
lua 1.lua timeout 0.0ms 119.6MB 4940ms 43ms lua 5.4.4
lua 1.lua timeout 0.0ms 180.4MB 4920ms 60ms luajit 2.1.0-beta3

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 4.chpl 222ms 4.9ms 7.3MB 207ms 0ms chpl 1.29.0
chapel 3.chpl 232ms 0.8ms 11.3MB 220ms 0ms chpl 1.29.0
lua 1.lua 409ms 5.4ms 25.0MB 387ms 3ms luajit 2.1.0-beta3
lua 1.lua 1054ms 8.6ms 17.4MB 1037ms 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 1.9ms 0.5ms 2.5MB 0ms 0ms luajit 2.1.0-beta3
lua 1.lua 2.4ms 0.9ms 1.5MB 0ms 0ms lua 5.4.4
chapel 1.chpl 14ms 3.1ms 2.6MB 15ms 0ms chpl 1.29.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
lua 1.lua timeout 0.0ms 159.2MB 4923ms 57ms lua 5.4.4
lua 1.lua timeout 0.0ms 180.9MB 4927ms 53ms luajit 2.1.0-beta3

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
lua 1.lua 1630ms 18ms 35.4MB 1603ms 10ms luajit 2.1.0-beta3
lua 1.lua 2785ms 38ms 41.6MB 2753ms 10ms lua 5.4.4

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 372ms 2.9ms 2.6MB 363ms 0ms chpl 1.29.0
lua 4.lua 1104ms 10ms 1.5MB 1093ms 0ms luajit 2.1.0-beta3
lua 4.lua timeout 0.0ms 1.5MB 4990ms 0ms lua 5.4.4

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 2.chpl 55ms 2.2ms 20.2MB 50ms 0ms chpl 1.29.0
lua 4.lua 114ms 1.8ms 2.3MB 100ms 0ms luajit 2.1.0-beta3
lua 4.lua 1204ms 27ms 1.4MB 1190ms 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 2252ms 12ms 32.3MB 4413ms 10ms chpl 1.29.0
chapel 1.chpl 4379ms 5.0ms 32.4MB 4373ms 0ms chpl 1.29.0
lua 1.lua timeout 0.0ms 2.3MB 4990ms 0ms lua 5.4.4
lua 1.lua timeout 0.0ms 2.6MB 4990ms 0ms luajit 2.1.0-beta3

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
chapel 1-m.chpl 583ms 1.8ms 32.7MB 1113ms 3ms chpl 1.29.0
chapel 1.chpl 1114ms 2.0ms 32.3MB 1100ms 7ms chpl 1.29.0
lua 1.lua 1561ms 0.9ms 2.5MB 1550ms 0ms luajit 2.1.0-beta3
lua 1.lua timeout 0.0ms 2.1MB 4990ms 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 166ms 1.9ms 32.3MB 287ms 3ms chpl 1.29.0
chapel 1.chpl 296ms 2.0ms 32.3MB 287ms 3ms chpl 1.29.0
lua 1.lua 391ms 0.7ms 1.5MB 380ms 0ms luajit 2.1.0-beta3
lua 1.lua timeout 0.0ms 1.4MB 4990ms 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 555ms 1.7ms 5.1MB 540ms 0ms luajit 2.1.0-beta3
chapel 1-m.chpl 4045ms 127ms 59.5MB 7877ms 30ms chpl 1.29.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
lua 1.lua 39ms 1.0ms 3.1MB 30ms 0ms luajit 2.1.0-beta3
chapel 1-m.chpl 275ms 5.3ms 13.7MB 503ms 3ms chpl 1.29.0