Jesus christ, 40% waste in arrays that can be solved by using `__attribute__((packed))`.
Irresponsible of them of not advertising this as an option in luaconf.h
Irresponsible of them of not advertising this as an option in luaconf.h
"However, this attribute is a gcc extension not present in ISO C. Moreover, even in gcc it is not guaranteed to work [3]. As portability is a hallmark of Lua, this almost magical solution is a no-go."
[1] "Hugo Gualandi reported that just adding the gcc attribute __attribute__((packed)) to the definition of the structure TValue reduces its size from 16 to 9 bytes, without any sensible difference in performance."