Constants and locals have roughly the same performance in the Lua VM: both are stored in C arrays. The only difference is that the maximum number of locals is much smaller than the maximum number of constants. I've posted a token filter that expanded constants at compile time: http://lua-users.org/lists/lua-l/2007-05/msg00480.html