Hack VS Nim benchmarks

Current benchmark data was generated on Wed May 25 2022, 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
nim 2.nim 3281ms 50ms 35.2MB 3253ms 13ms nim 1.6.6
nim 2.nim 3344ms 37ms 34.2MB 3320ms 3ms nim/clang 1.6.6
hacklang 1.hack timeout 0.0ms 0.0MB 0ms 0ms hhvm 4.160.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 2.nim 288ms 21ms 5.7MB 273ms 0ms nim/clang 1.6.6
nim 2.nim 304ms 1.5ms 5.5MB 290ms 0ms nim 1.6.6
hacklang 1.hack 1353ms 1.7ms 187.1MB 1293ms 43ms hhvm 4.160.0

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
hacklang 1.hack 2000ms 3.5ms 175.6MB 1940ms 43ms hhvm 4.160.0
nim 1.nim timeout 0.0ms 0.0MB 0ms 0ms nim 1.6.6
nim 1.nim timeout 0.0ms 0.0MB 0ms 0ms nim/clang 1.6.6

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
hacklang 1.hack 961ms 3.5ms 176.7MB 897ms 47ms hhvm 4.160.0
nim 1.nim timeout 0.0ms 0.0MB 0ms 0ms nim 1.6.6
nim 1.nim timeout 0.0ms 0.0MB 0ms 0ms nim/clang 1.6.6

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 1.5ms 0.3ms 2.0MB 0ms 0ms nim/clang 1.6.6
nim 1.nim 1.7ms 0.6ms 0.7MB 0ms 0ms nim 1.6.6
hacklang 1.hack 770ms 2.1ms 169.6MB 708ms 50ms hhvm 4.160.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 1385ms 10ms 35.0MB 1363ms 3ms nim 1.6.6
nim 1.nim 1590ms 8.8ms 35.1MB 1563ms 7ms nim/clang 1.6.6
hacklang 1.hack 4945ms 12ms 234.7MB 4863ms 67ms hhvm 4.160.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
nim 1.nim 322ms 21ms 9.3MB 307ms 0ms nim 1.6.6
nim 1.nim 338ms 0.6ms 10.0MB 323ms 0ms nim/clang 1.6.6
hacklang 1.hack 1682ms 3.1ms 191.5MB 1593ms 70ms hhvm 4.160.0