主题:【讨论】解释执行类代码的性能有无可能达到甚至超过本机编译代码 -- 老兵帅客
共:💬64
它不可能预见程序在编译后会怎么运行,有什么具体特点,因为那是Run-time的行为。这些信息只有在程序运行的时候,JVM/CLR才可以获得,这是动态优化的根据。
这不是说C/C++编译器不够聪明。这是由于C/C++这种语言的特点决定的。它避免了很多运行时的开销(C++还有一些运行时的开销,所以C++比C还要慢一些),但同时也失去了运行时的许多有用的信息。一种观点认为基于这些信息的优化技术一定会超过编译时的静态优化。这种理论在局部取得了成功,但就大面积而言,还没有!
- 相关回复 上下关系8
压缩 3 层
😅老兵的这个Argument比下面的那个好 梦里依稀 字395 2004-07-23 20:49:50
这么说吧, 在真正要速度的人群中 ppw 字60 2004-07-23 20:54:26
呕, 是吗? ppw 字171 2004-07-23 20:39:14
😉C/C++的编译器在编译程序的时候,看到的只是Source code。
评论 老兵帅客 字651 2004-07-23 20:45:09
😉这个观点我同意。因为说到最后还是机器代码在执行。 Highway 字625 2004-07-23 21:01:18
这种比较没意义 ppw 字40 2004-07-23 20:35:38
😮再说一遍,C/C++的代码一旦编译生成,就是一个二进制文件了。 Highway 字267 2004-07-23 20:46:28