0
A
回答
3
- 因为很多应用程序没有被“安装”,并且没有使用NGEN需要的结构;它们只是文件的存储设备上(或纯粹在存储器中,如果从外部源加载)
- 因为NGEN是依赖于硬件和硬件可以变化一台机器的寿命
- 期间因为JIT本身可以是因为应用程序使用诸如插件和扩展点之类的东西;因此,因为许多应用程序使用元编程在运行时为其自身发出优化代码(基于确切条件(它可能是外部数据,直到它在运行时实际调用时才会知道),但是所有内容都可能不可用奥姆斯地图数据库列的对象,例如)
- ,因为在很多情况下,它是不值得NGEN的开销 - 它不会改善的事情
当NGEN或AOT是一个不错的选择:很好,去做那个。但它不是解决所有问题的魔杖。
还有一个问题,如果JIT已经NGENed了,怎么会编译IL代码呢?
假设NGEN图像的所有先决条件都是完美匹配的,那么JIT就不需要涉及。
1
相关问题
- 1. JIT vs NGen - 有什么区别?
- 2. 如果我们有@Override为什么没有@Implementation或@ Implements`?
- 3. 如果siftDown比siftUp更好,为什么我们拥有它?
- 4. 为什么使用抽象如果我们有接口
- 5. 如果我们有GPGPU,为什么要使用SIMD?
- 6. 如果我们有boost :: bind,使用boost :: mem_fn有什么意义?
- 7. 为什么我们有 - Context.getSharedPreferences()和-Activity.getPreferences()?
- 8. 为什么我们有clojure memoize功能?
- 9. 我们为什么要使用`realloc`如果我们需要一个'TMP buffer`
- 10. 虽然我们有Swing,但为什么我们需要JavaFX?
- 11. 为什么我们在JS
- 12. 我们称之为什么?
- 13. 为什么我们的mysqli
- 14. 我们为什么说HTML5
- 15. 为什么我们在iphone
- 16. 如果我们不能释放它,malloc的行为是什么
- 17. 如果我们得到ER_UNKNOWN_COM_ERROR有什么问题
- 18. 为什么我们需要reactjs-bootstrap如果有简单的方法?
- 19. 为什么|| =没有编译,如果我们使用[]或不在coffeescript?
- 20. 什么是仿函数,为什么我们需要它们?
- 21. 装配需要什么?为什么我们使用它们?
- 22. 为什么我们在java中需要switch-case语句,如果我们已经有if-else if-else语句
- 23. 如果我们有原始的清单,为什么我们可以更改不可修改的清单?
- 24. 为什么我们使用表中的ID列如果我们有一个唯一的值
- 25. 如果有string.Empty为什么没有char.Empty?
- 26. 作为编译结果我们会得到什么?
- 27. 为什么我的bash如果失败?
- 28. 为什么回调被认为是异步的,如果我们需要等待
- 29. 为什么我们有这么多种装配加载方法?
- 30. 当我们有内核时,为什么我们需要驱动程序?