No, that is not true. It was engram's string.dump() that failed. I should improve error reporting in my benchmarker.
$ ./run_benchmark.sh benchmark.lua 1e6
Results:
luajit2
-------------------------------------------------------------------
name | rel | abs s / iter = us (1e-6 s) / iter
-------------------------------------------------------------------
marshal | 1.0000 | 4.09 / 1000000 = 4.090000 us
luabins_load | 1.0244 | 4.19 / 1000000 = 4.190000 us
luabins_save | 1.2567 | 5.14 / 1000000 = 5.140000 us
unmarshal | 1.2738 | 5.21 / 1000000 = 5.210000 us
loadstring | 2.6895 | 11.00 / 1000000 = 11.000000 us
concat | 5.1394 | 21.02 / 1000000 = 21.020000 us
tstr | 7.1222 | 29.13 / 1000000 = 29.130000 us
tserialize | 8.7457 | 35.77 / 1000000 = 35.770000 us
Alexander.