Rendered at 13:30:15 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
juancn 12 hours ago [-]
It can be done mechanically, it's essentially what a compiler does.
But yeah, it can be a useful technique, specially when there's tail recursion and the explicit stack just vanishes and the recursion turns into a plain old loop which the hardware just loves.
Panzerschrek 8 hours ago [-]
While coding recursive algorithms in C++ and Rust I have found, that they have some overhead due to performing recursive calls. Compilers can't inline such calls (with exception of tail-recursion). So, replacing recursion with manually-managed stack gives some performance boost. I am wondering why no major C++ compiler can do this for me automatically.
But yeah, it can be a useful technique, specially when there's tail recursion and the explicit stack just vanishes and the recursion turns into a plain old loop which the hardware just loves.