Hacker News Viewer

A tail-call interpreter in (nightly) Rust

by g0xA52A2A on 4/5/2026, 3:18:01 PM

https://www.mattkeeter.com/blog/2026-04-05-tailcall/

Comments

by: dathinab

&gt; resulting VM outperforms both my previous Rust implementation and my hand-coded ARM64 assembly<p>it&#x27;s always surprising for me how absurdly efficient &quot;highly specialized VM&#x2F;instruction interpreters&quot; are<p>like e.g. two independent research projects into how to have better (fast, more compact) serialization in rust ended up with something like a VM&#x2F;interpreter for serialization instructions leading to both higher performance and more compact code size while still being cable of supporting similar feature sets as serde(1)<p>(in general monomorphisation and double dispatch (e.g. serde) can bring you very far, but the best approach is like always not the extrem. Neither allays monomorphisation nor dynamic dispatch but a balance between taking advantage of the strength of both. And specialized mini VMs are in a certain way an extra flexible form of dynamic dispatch.)<p>---<p>(1): More compact code size on normal to large project, not necessary on micro projects as the &quot;fixed overhead&quot; is often slightly larger while the per serialization type&#x2F;protocol overhead can be smaller.<p>(1b): They have been experimental research project, not sure if any of them got published to GitHub, non are suited for usage in production or similar.

4/5/2026, 5:05:29 PM