Could Luas memory management clash with the hosts requirements?
Lua uses its own automatic memory management which operates in a memory space of a fixed size determined by the host program. This means that no system calls will be needed to allocate memory during script execution. An interpreter can therefore be used in situations where such calls are unsafe. However, automatic memory management can create problems in itself. Some garbage collection systems suffer from “pregnant pauses” where the main program freezes during collection cycles. Lua’s incremental collection has the same time overheads as other techniques, but it spreads them evenly in small steps over the program’s execution. Latency in such a system is very consistent, possibly even more so than in systems that use manual memory management. Furthermore, the time between collection steps and the time spent on each step can be controlled by the host on the fly. An embedded Lua can therefore be configured and tested for a specific latency requirement quite easily and should pass or fail