Comment by megapoliss
1 day ago
I used brainfuck interpreter https://github.com/Beariish/bolt/blob/main/examples/bf.bolt vs lua / luajit implementations from https://github.com/kostya/benchmarks
Just checked with nbody:
- still 10 times slower than luajit
- 2 times slower than luajit -joff
- but 20% faster than lua 5.4
- but uses 47 Mb RAM vs 2.5 Mb for lua/luajit
I appreciate the followup here. The brainfuck interpreter isn't meant to be a benchmark notably, it's a naive implementation for the sake of the example.
I did spot some poor code in the Bolt version of nbody that can be changed (the usage of `.each()` in the hot loop is creating loads of temporary iterators, that's the memory difference.)
luajit -joff does perform better even with this change, but I observe closer to 15% than a 2x difference
for nbody 500000 on my i5-9300H CPU @ 2.40GHz