Calls: Send in your ideas. Deadline December 1st, 2021.

Last update: 2018-02-01

RaptorJIT

RaptorJIT is a fork of LuaJIT focused on predictably high performance. RaptorJIT takes a quantitive approach to performance. The value of an optimization must be demonstrated with a reproducible benchmark. Optimizations that are not demonstrably beneficial on recent CPU generations are removed. RaptorJIT was initially developed by the team behind Snabb Switch.

In network dataplanes performance needs to be predictable, which brings new requirements:

  • Minimizing the performance impact of non-deterministic JIT decisions.
  • Providing an accurate mental model of how the JIT works and which programming techniques are effective.
  • Providing diagnostic tools (Studio) consistent with this mental model to make the actual operation transparent.
  • Making profiling completely ubiquitous in development, testing, and production environments.

The development process has to support moving quickly in these directions:

  • Quality assurance based on repeatable standard benchmarks executed by CI.
  • Streamlined codebase: x86-64 architecture, 64-bit heap (GC64), "no #ifdef."
  • Distributed development ("Linux-style") with many maintainers, forks, and merges.

Once these requirements have been thoroughly satisfied then new requirements can be introduced. For example, ARM64 and other platforms can be supported as the project matures.

Navigate projects

Please check out NLnet's theme funds, such as NGI Assure and the User Operated Internet Fund.

Want to help but no money to spend? Help us by protecting open source and its users.

.