Hasty Briefsbeta

My (very) fast zero-allocation webserver using OxCaml

2 days ago
  • #Webserver
  • #Performance
  • #OxCaml
  • OxCaml offers language extensions for high-performance systems programming while retaining OCaml's functional style.
  • httpz is a zero-allocation HTTP/1.1 parser leveraging OxCaml's unboxed types and local allocations for efficiency.
  • Unboxed types in OxCaml, such as int16#, allow values to be passed in registers, avoiding heap allocations.
  • OxCaml supports unboxed records and tuples, enabling functions to return multiple values without allocation.
  • Local allocations and exclaves in OxCaml facilitate stack allocation, reducing garbage collector activity.
  • OxCaml introduces mutable local variables, eliminating the need for heap-allocated ref values in loops.
  • Performance benchmarks show httpz (OxCaml) outperforming traditional parsers in speed and heap usage.
  • OxCaml's features are being integrated into real-world applications, like a high-performance webserver.
  • Future work includes leveraging OxCaml's FFI for zero-copy kernel interactions and improving tooling.