> I think the article is making out trace compilers to be far more limited than they actually are.
Luke (the posts' author) and others are building a high performance software Ethernet switch[1] using LuaJIT. Let me assure you that these considerations actually come from experience rather than speculation.
> As I understand it, nested loops are totally possible to trace-compile by having multiple traces that link to each other.
Sometimes it works, sometimes it doesn't. We can't really expect everybody using Snabb Switch to understand the internals of LuaJIT so restrictive guidelines are useful for us.
Disclaimer: Consulting for Snabb GmbH
[1]: https://github.com/snabbco/snabbswitchhttps://github.com/sna...