Haxe VS Swift 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
haxe 1.hx 1678ms 5.2ms 146.1MB 1927ms 70ms haxe/cpp 4.2.5
haxe 2.hx 4581ms 8.9ms 497.2MB 5720ms 247ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 48.6MB 4670ms 310ms haxe/hl/c 4.2.5
haxe 2.hx timeout 0.0ms 83.0MB 4397ms 590ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 49.0MB 4700ms 280ms haxe/hl/jit 1.13.0
haxe 2.hx timeout 0.0ms 130.2MB 4430ms 550ms haxe/hl/jit 1.13.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 110ms 4.0ms 27.7MB 103ms 3ms haxe/cpp 4.2.5
haxe 2.hx 422ms 6.8ms 60.2MB 480ms 17ms haxe/cpp 4.2.5
haxe 1.hx 779ms 2.3ms 8.6MB 730ms 33ms haxe/hl/c 4.2.5
haxe 1.hx 949ms 11ms 11.1MB 893ms 43ms haxe/hl/jit 1.13.0
haxe 2.hx 1167ms 4.0ms 13.4MB 1040ms 110ms haxe/hl/c 4.2.5
haxe 2.hx 1327ms 19ms 25.0MB 1160ms 150ms haxe/hl/jit 1.13.0

fasta

Input: 2500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 3-m.swift 380ms 10ms 20.9MB 690ms 3ms swift 5.7.3
haxe 1.hx 3417ms 52ms 27.5MB 3340ms 227ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 3.4MB 4617ms 363ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 3.8MB 4693ms 293ms haxe/hl/jit 1.13.0

Input: 250000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 3.swift 56ms 0.5ms 14.6MB 60ms 0ms swift 5.7.3
haxe 1.hx 355ms 0.6ms 27.5MB 320ms 37ms haxe/cpp 4.2.5
haxe 1.hx 780ms 1.8ms 3.2MB 713ms 50ms haxe/hl/c 4.2.5
haxe 1.hx 834ms 0.6ms 3.7MB 773ms 47ms haxe/hl/jit 1.13.0

helloworld

Input: QwQ

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 1.swift 2.2ms 1.1ms 2.3MB 0ms 0ms swift 5.7.3
haxe 1.hx 2.7ms 0.6ms 2.9MB 0ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 2.9ms 0.5ms 3.2MB 0ms 0ms haxe/cpp 4.2.5
haxe 1.hx 4.6ms 1.2ms 3.3MB 0ms 0ms haxe/hl/jit 1.13.0

lru

Input: 1000 1000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 184ms 5.0ms 22.2MB 167ms 7ms haxe/cpp 4.2.5
haxe 1.hx 196ms 0.5ms 2.8MB 187ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 236ms 2.2ms 3.6MB 220ms 0ms haxe/hl/jit 1.13.0

Input: 1000 3000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 518ms 0.9ms 27.5MB 497ms 7ms haxe/cpp 4.2.5
haxe 1.hx 579ms 6.3ms 2.9MB 567ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 691ms 2.4ms 3.7MB 677ms 0ms haxe/hl/jit 1.13.0

Input: 100 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 85ms 1.9ms 14.2MB 73ms 3ms haxe/cpp 4.2.5
haxe 1.hx 96ms 1.9ms 2.8MB 87ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 121ms 2.9ms 3.6MB 107ms 0ms haxe/hl/jit 1.13.0

merkletrees

Input: 17

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 1141ms 6.2ms 97.0MB 1283ms 60ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 32.7MB 4603ms 380ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 54.5MB 4687ms 300ms haxe/hl/jit 1.13.0

Input: 15

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 207ms 6.1ms 28.6MB 200ms 13ms haxe/cpp 4.2.5
haxe 1.hx 1526ms 0.7ms 10.9MB 1397ms 113ms haxe/hl/c 4.2.5
haxe 1.hx 1701ms 23ms 20.2MB 1590ms 97ms haxe/hl/jit 1.13.0

nbody

Input: 5000000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 7.swift 431ms 9.3ms 5.1MB 417ms 0ms swift 5.7.3
haxe 2.hx 977ms 8.8ms 2.3MB 963ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 1243ms 2.6ms 2.3MB 1230ms 0ms haxe/hl/c 4.2.5
haxe 3.hx 1410ms 34ms 27.7MB 1597ms 43ms haxe/cpp 4.2.5
haxe 2.hx 2332ms 49ms 3.2MB 2320ms 0ms haxe/hl/jit 1.13.0
haxe 1.hx 2595ms 91ms 3.2MB 2580ms 0ms haxe/hl/jit 1.13.0
haxe 1.hx timeout 0.0ms 3.2MB 4990ms 0ms haxe/cpp 4.2.5
haxe 2.hx timeout 0.0ms 3.2MB 4990ms 0ms haxe/cpp 4.2.5
haxe 3.hx timeout 0.0ms 3.4MB 4553ms 430ms haxe/hl/c 4.2.5
haxe 3.hx timeout 0.0ms 3.7MB 4620ms 367ms haxe/hl/jit 1.13.0

Input: 500000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
swift 7.swift 48ms 2.9ms 5.1MB 40ms 0ms swift 5.7.3
haxe 2.hx 100ms 0.7ms 2.3MB 90ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 132ms 7.9ms 2.3MB 120ms 0ms haxe/hl/c 4.2.5
haxe 3.hx 156ms 0.7ms 27.7MB 163ms 3ms haxe/cpp 4.2.5
haxe 2.hx 243ms 12ms 3.3MB 233ms 0ms haxe/hl/jit 1.13.0
haxe 1.hx 256ms 0.6ms 3.3MB 247ms 0ms haxe/hl/jit 1.13.0
haxe 3.hx 632ms 2.2ms 3.2MB 557ms 60ms haxe/hl/c 4.2.5
haxe 3.hx 779ms 16ms 3.7MB 720ms 43ms haxe/hl/jit 1.13.0
haxe 2.hx 855ms 2.4ms 3.2MB 840ms 0ms haxe/cpp 4.2.5
haxe 1.hx 1046ms 1.7ms 3.2MB 1033ms 0ms haxe/cpp 4.2.5

spectral-norm

Input: 8000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx timeout 0.0ms 6.9MB 4983ms 0ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 3.0MB 4983ms 3ms haxe/hl/c 4.2.5
haxe 1.hx timeout 0.0ms 3.7MB 4990ms 0ms haxe/hl/jit 1.13.0

Input: 4000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 1305ms 1.1ms 2.9MB 1290ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 2346ms 9.0ms 6.7MB 2333ms 0ms haxe/cpp 4.2.5
haxe 1.hx timeout 0.0ms 3.5MB 4987ms 0ms haxe/hl/jit 1.13.0

Input: 2000

lang code time stddev peak-mem mem time(user) time(sys) compiler compiler/runtime
haxe 1.hx 332ms 2.6ms 2.9MB 317ms 0ms haxe/hl/c 4.2.5
haxe 1.hx 590ms 0.6ms 5.3MB 580ms 0ms haxe/cpp 4.2.5
haxe 1.hx 3424ms 1.6ms 3.7MB 3410ms 0ms haxe/hl/jit 1.13.0