Lua is an efficient, lightweight, embeddable, scripting language that is powerful and easy to use. It supports procedural, object-oriented, functional, data-driven programming and data description. Lua combines simple procedural syntax and powerful data description constructs that are based on extensible semantics and associative arrays. Lua is dynamically-typed and interprets bytecode using a register-based virtual computer. It also has automatic memory management and incremental garbage collection making it ideal for configuration and scripting as well as rapid prototyping and prototyping. Lua is well-respected for its performance. Lua is aspired to be "as fast" as other scripting languages. Multiple benchmarks have shown Lua to be the fastest language in the world of interpreted scripting. Lua is fast in benchmark programs but also in real-life. Lua has been used to write large portions of large applications.