c++ - JIT 编译能比编译时模板实例化运行得更快吗?

标签 c++ templates jit

我最近听到很多人说 JIT 编译产生的代码非常快,甚至比任何静态编译器都快。当涉及到 C++ STL 样式的模板化代码时,我发现这很难相信,但这些人(通常来自 C#/Java 背景)坚持认为情况确实如此。

因此我的问题是:您可以在运行时而不是在编译时进行哪些类型的优化?

编辑:澄清:我更感兴趣的是那些不可能静态地做的事情,而不是任何一个行业中的典型案例。

最佳答案

JIT 编译器可以测量发生条件跳转的可能性,并相应地调整发出的代码。静态编译器也可以做到这一点,但不是自动的;它需要程序员的提示。

显然这只是众多因素中的一个,但它确实表明在适当的条件下 JIT 可能更快。

关于c++ - JIT 编译能比编译时模板实例化运行得更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48512433/

相关文章:

java - Java JIT 编译器(如何)优化我的代码?

java - 即时编译

c++ - C++ 中的 Const 正确性问题

c++ - 在 std::set 中查找 std::vector 的元素

c++ - Makefile 将程序移动到特定目录

c++ - 是否有用于限制模板的成语/设计模式?

c++ - 我如何获得一个模板来支持 T* 而不是 T&?

c++ - 复杂的C++模板代码

c - JIT 基础知识

c++ - 初学者 C++ 指针