Elixir VS Javascript benchmarks

Current benchmark data was generated on Mon Oct 03 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.)

coro-prime-sieve

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 2337ms 24ms 81.3MB 2373ms 47ms node 18.10.0
javascript 1.js 3545ms 74ms 109.4MB 3570ms 23ms bun 0.1.13
elixir 1.ex 4662ms 52ms 53.9MB 4710ms 103ms elixir 13.1.0

Input: 1000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 225ms 2.2ms 61.9MB 210ms 10ms node 18.10.0
javascript 1.js 254ms 2.7ms 100.1MB 270ms 13ms bun 0.1.13
elixir 1.ex 503ms 6.1ms 48.1MB 523ms 57ms elixir 13.1.0

edigits

Input: 250001

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
elixir 1.ex timeout 0.0ms 0.0MB 0ms 0ms elixir 13.1.0

Input: 100000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
elixir 1.ex timeout 0.0ms 0.0MB 0ms 0ms elixir 13.1.0

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 1.js 17ms 2.4ms 52.6MB 10ms 0ms bun 0.1.13
javascript 1.js 56ms 0.8ms 42.1MB 40ms 2ms node 18.10.0
elixir 1.ex 214ms 2.3ms 46.4MB 238ms 32ms elixir 13.1.0

pidigits

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
elixir 1.ex timeout 0.0ms 0.0MB 0ms 0ms elixir 13.1.0
javascript 3.js timeout 0.0ms 0.0MB 0ms 0ms node 18.10.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
elixir 1.ex 1309ms 14ms 48.0MB 1340ms 137ms elixir 13.1.0
javascript 3.js 1602ms 6.2ms 63.3MB 1587ms 13ms node 18.10.0

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 2766ms 1.8ms 71.4MB 5200ms 23ms node 18.10.0
elixir 1.ex timeout 0.0ms 0.0MB 0ms 0ms elixir 13.1.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 862ms 8.2ms 70.8MB 1520ms 17ms node 18.10.0
elixir 1.ex timeout 0.0ms 0.0MB 0ms 0ms elixir 13.1.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
javascript 6-m.js 398ms 6.9ms 69.1MB 583ms 20ms node 18.10.0
elixir 1.ex timeout 0.0ms 0.0MB 0ms 0ms elixir 13.1.0