# luajit/luajit

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/luajit-luajit).**

5,592 stars · 1,161 forks · C · NOASSERTION

## Links

- GitHub: https://github.com/LuaJIT/LuaJIT
- Homepage: http://luajit.org
- awesome-repositories: https://awesome-repositories.com/repository/luajit-luajit.md

## Description

LuaJIT is a high-performance Lua language implementation and just-in-time compiler. It functions as an embedded scripting engine and dynamic binary translator that converts portable bytecode into native machine code during execution.

The project focuses on high-performance scripting by translating bytecode into architecture-specific instructions to achieve execution speeds close to compiled C code. It utilizes a lightweight runtime environment designed for minimal memory overhead.

The system supports binary data processing via bitwise operations and enables asynchronous task management through the integration of C coroutines. It also provides capabilities for runtime code generation and the creation of custom machine code instructions.

## Tags

### Programming Languages & Runtimes

- [Just-In-Time Compilation](https://awesome-repositories.com/f/programming-languages-runtimes/just-in-time-compilation.md) — Translates bytecode into native machine code at runtime to achieve execution speeds close to compiled C.
- [JIT-Compiled Bytecode Execution](https://awesome-repositories.com/f/programming-languages-runtimes/bytecode-virtual-machines/jit-compiled-bytecode-execution.md) — Translates bytecode into machine code during execution to significantly increase program performance. ([source](https://cdn.jsdelivr.net/gh/luajit/luajit@v2.1/README.md))
- [General JIT Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/compiler-optimizations/just-in-time-compilation/tiered-jit-compilation/general-jit-compilers.md) — Implements a high-performance just-in-time compiler that translates Lua bytecode into native machine code.
- [Embedded Scripting Engines](https://awesome-repositories.com/f/programming-languages-runtimes/embedded-scripting-engines.md) — Functions as a lightweight scripting engine that can be integrated into C applications for flexible logic.
- [High-Performance Scripting](https://awesome-repositories.com/f/programming-languages-runtimes/high-performance-scripting.md) — Executes Lua scripts at near-native speeds using a just-in-time compiler.
- [Machine Code Generation](https://awesome-repositories.com/f/programming-languages-runtimes/machine-code-generation.md) — Translates bytecode into native machine code during execution to optimize overall program performance. ([source](http://luajit.org/))
- [Lua](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/dynamic-scripting-languages/lua.md) — Provides a complete runtime environment and execution engine for the Lua programming language.
- [Ahead-Of-Time Compilation](https://awesome-repositories.com/f/programming-languages-runtimes/ahead-of-time-compilation.md) — Provides ahead-of-time compilation of source code into binary format to optimize program loading speed.
- [Direct-Threaded Interpreters](https://awesome-repositories.com/f/programming-languages-runtimes/direct-threaded-interpreters.md) — Implements a direct-threaded bytecode interpreter that jumps directly to instruction handlers to minimize dispatch overhead.
- [Coroutine Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/high-performance-c-libraries/coroutine-libraries.md) — Integrates coroutine primitives that allow C functions to suspend and resume state independently.
- [NaN-Boxing](https://awesome-repositories.com/f/programming-languages-runtimes/tagged-value-boxing/nan-boxing.md) — Uses NaN-boxing to store diverse data types within a single double-precision float for memory efficiency.

### Operating Systems & Systems Programming

- [Dynamic Binary Translators](https://awesome-repositories.com/f/operating-systems-systems-programming/instruction-translation-accelerators/dynamic-binary-translators.md) — Converts portable bytecode into optimized architecture-specific instructions during program execution.

### Software Engineering & Architecture

- [Trace-Based Optimization](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/code-optimization/low-level-machine-code-optimizations/trace-based-optimization.md) — Identifies frequently executed linear code paths and compiles them into optimized machine code sequences.
- [Asynchronous Task Managers](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-task-managers.md) — Provides a mechanism for coordinating concurrent background operations using coroutines within C functions.

### Web Development

- [C++ Coroutine Primitives](https://awesome-repositories.com/f/web-development/server-side-frameworks/kotlin-frameworks/coroutine-frameworks/c-coroutine-primitives.md) — Implements low-level coroutine primitives in C to manage non-blocking multitasking. ([source](http://luajit.org/))
