我最近听到很多人说 JIT 编译产生的代码非常快,甚至比任何静态编译器都快。当涉及到 C++ STL 样式的模板化代码时,我发现这很难相信,但这些人(通常来自 C#/Java 背景)坚持认为情况确实如此。
因此我的问题是:您可以在运行时而不是在编译时进行哪些类型的优化?
编辑:澄清:我更感兴趣的是那些不可能静态地做的事情,而不是任何一个行业中的典型案例。
最佳答案
JIT 编译器可以测量发生条件跳转的可能性,并相应地调整发出的代码。静态编译器也可以做到这一点,但不是自动的;它需要程序员的提示。
显然这只是众多因素中的一个,但它确实表明在适当的条件下 JIT 可能更快。
关于c++ - JIT 编译能比编译时模板实例化运行得更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48512433/