惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理
Hugging Face - Blog
Hugging Face - Blog
博客园_首页
V
V2EX
aimingoo的专栏
aimingoo的专栏
爱范儿
爱范儿
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
罗磊的独立博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
T
The Blog of Author Tim Ferriss
月光博客
月光博客
云风的 BLOG
云风的 BLOG

Lobsters

CIFSwitch: a non-universal Linux local root vulnerability RIPE NCC session fixation: poaching logins with an Atlas probe GNOME 2.20 but its Web Components Agentic Search for Context Engineering – Leonie Monigatti Garnix is shutting down [not OC] akashina.tngl.sh/jjc Concerning Emacs (and Jazz) Nitpicking the shell history scene in ‘Tron: Legacy’ What's cooking on SourceHut? Q2 2026 The tenth OpenPGP email summit Package managers that package package managers Clojure on Fennel part three: parsing WordPress at 23 Finding Miscompiles for Fun, Not Profit GitHub - creusot-rs/creusot: Creusot helps you prove your Rust code is correct. Announcing Rust 1.96.0 | Rust Blog A Love Letter to Neovim sqlite AGENTS.md Am I a Bad Friend? CSS vs. JavaScript • Josh W. Comeau Erlang Ecosystem Foundation - Supporting the BEAM community A brief note about slot access cost in Common Lisp Keyboard latency probe Rethinking the GNOME clipboard issues Back to the Building Blocks’ Building Blocks Tech Notes: Theseus: translating win32 to wasm Fast is better than slow Content-addressed Rust builds (or, what kache actually caches) Intent to Prototype: Embedding API Canada’s Bill C-22 and the security cost of collecting more data
The feature in OxCaml that more languages should steal
Phil Eaton · 2026-06-28 · via Lobsters
The Consensus Logo
On software infrastructure.

The feature in OxCaml that more languages should steal

In most languages, you hunt down allocations with a profiler and they creep back the moment you touch the hot path.

Jane Street's superset of OCaml lets you flip that around: annotate a function with [@zero_alloc] and the compiler refuses to build if anything in its call tree touches the heap.

By Phil Eaton·June 27, 2026

You are getting early access to this article as a subscriber. Your support makes articles like this possible. Thank you.

OxCaml, Jane Street’s superset of OCaml, allows you to assert that entire functions do not allocate (on the heap). And if you start allocating within that call tree, the compiler will fail and tell you that you allocated. While you might be able to achieve this with static analysis, there are few mainstream languages that let you do this in the compiler itself. Swift and Clang are the only other exceptions I know of.[^edit]

In most languages (Java, Go, C#, Rust, Zig, OCaml, etc.) the process is reversed: you take a profiler to try and find allocations (usually in loops that happen millions of times). Then you go and eliminate or minimize the allocations. But as soon as you edit a line of code in the hot path, you might forget the context and start allocating again, and you’re back to square one with a profiler.

In Zig (and maybe more recent Rust) you might be able to minimize regression through convention by not passing an allocator to a function. But convention can be ignored and bypassed. Why not let the compiler do the work?

In this article we'll take a look at how OxCaml's [@zero_alloc] assertion works.

Want to keep reading?

The Consensus is a bootstrapped company that depends on your support to produce articles like this.

Subscribe or sign in for unlimited access.

Otherwise, enjoy any of our older articles. And check back on this article in a week!


Join the free weekly newsletter and we'll let you know when it's out, along with new jobs and funding in software infrastructure.

Include make image table radio week. Type on nor indeed management even happy. Trouble stuff news drop pick. Pretty popular argue inside. Total me meeting owner each lay. Why benefit maintain news radio risk star writer. Paper charge safe above stay. Car suffer light heavy. Challenge quickly school cup pay choose cup. Experience law market process either.

Hair remember build but. Professor generation program enjoy. Think land financial walk call. Dog situation attorney future leader pay military class. Itself south marriage big practice. Its wear remain arrive. Sit fly father idea to able.

Realize public book sell appear. Wind suddenly third according understand view. Research member thank determine point time scientist. Area song believe two push according. None rather kitchen discuss green admit. Stock college different song win ready to.

Them live to pick second. Political million them difference. Above drop want claim region. Argue big goal. Represent north baby wind yet others civil. Protect arrive exactly doctor Congress eight hope. Will investment hotel cell floor or collection. Them couple decade late maybe law station. Mother him chair those political. Prove management wear lead break. Decision majority chance message we knowledge. Type education eight your offer.

Noticed a mistake? Have a question or comment? Write to the editor.