I'm studying the structures of Lua, and one caught my attention: struct Proto
I think it's breaking the cache line in two.
After running the factorial test (
https://github.com/GitSparTV/lua-infographics/blob/main/lua-benchmark/benchmark.lua)
An information caught my attention:
0.03s trap = L-> hookmask;
returning: / * trap already set * /
0.04s cl = clLvalue (s2v (cy-> func));
0.13s k = cl-> p-> k;
0.01s pc = cy-> u.l.savedpc;
0.01s if (trap) {
A simple move is taking an average of 0.15s (0.13s to 0.15s).
0.13s k = cl->p->k;