3 ms·
AFAIK it is not about float perf. LuaJIT uses NaN-tagging to represent Lua values in memory to save space. Float64 numbers can be left alone, and other types
by pygy_ 8y ago
AFAIK it is not about float perf.
LuaJIT uses NaN-tagging to represent Lua values in memory to save space.
Float64 numbers can be left alone, and other types are represented as NaN with the pointer bits stashed in the mantissa part of the float. Only one, canonical NaN value is recognized as such by the language, the others are disguised 32 bit pointers.