Conference Presentation, Fireside Chat, Interview
The Saga of Multicore OCaml
- The multi-core garbage collector is expected to be easy to maintain and adopt immediately post-2022 release, though internal adoption anticipates a two-and-a-half-year delay for feature migration.
- Forward porting features from the sequential garbage collector to the new multi-core system requires significant effort due to the new collector being built years after those features existed.
- The snapshot property at the beginning of collection causes floating garbage to be delayed, extending object wait time from 1.25 cycles to 1.75 cycles.
- A mark delay patch is planned to recover previous object lifetime behavior by adding synchronization previously deemed too expensive.
- Future garbage collector tuning aims to reduce allocation and perform collections during early program setup to avoid wasting time on transient objects.
- Building zero-alloc systems in OCaml is essential for high-performance packet processing requiring operations under 1.2 microseconds, with tight loops avoiding heap allocation to ensure deterministic performance.
- New parallel language features are expected to deliver significant integer speedups in simple applications without complex distributed systems, allowing users to absorb parallelism without manual data serialization.
- The "Data Race Freedom a la Mode" type discipline, recognized as a Distinguished Paper at the 2025 POPL conference, represents the second half of the parallelism problem alongside runtime capabilities.
- Applying this new discipline to legacy code bases is expected to reveal numerous dirty tricks, immutable state issues, and data races that require fixing.
- Jane Street intends to continue improving OCaml for years rather than adopting languages like Rust, citing the enormous cost as a deterrent.
- OxCamel (OCaml Oxidized) is set for release with documentation, an LSP, and a formatter, but internal iteration will involve frequent breaking changes while it matures.
- OxCamel is currently production-ready internally but not yet stable for community use due to rapid iteration, with full public upstreaming expected to take years.
- Jane Street anticipates hiring high-caliber technologists by leveraging the niche nature of the OCaml developer community.
- Python is predicted to likely encounter significant data race issues and break in free-threaded environments due to a lack of rigorous handling.
- While new parallel capabilities offer substantial power, the speaker warns that balancing this power against the increased complexity of the system is complicated.
- The new pacing system is expected to automatically reduce allocation during program startup to mitigate slow startup times.