主题:【讨论】解释执行类代码的性能有无可能达到甚至超过本机编译代码 -- 老兵帅客
共:💬64
复 评论
谁能有更好的机器代码质量,谁就运行的快。
C/C++静态优化的潜力已经开挖很长时间了,而动态优化才开始不久,还有潜力。
另外,JVM和CLR对内存管理的方法也有潜力可挖。传统上认为C/C++的内存管理(malloc和new)要优于JVM和CLR的,但这个观点已经不是很确定了。在有些情况下,JVM和CLR的效率也很高。并且还有很多意想不到的附带好处。比如你说的C++静态指针的问题。
前俩天看一篇文章,大意是如果.NET的程序遵循一定规范(比如不和COM talkd等等),那么可以将程序从32位.NET环境直接放到64位NET环境,程序不需要任何改动就是64位程序了。C/C++不行,32位的指针就是32位长,你不重新编译他就是32位程序,4byte长的Integer到了64位机器上不会自己变成64位长。
- 相关回复 上下关系8
压缩 3 层
呕, 是吗? ppw 字171 2004-07-23 20:39:14
😉C/C++的编译器在编译程序的时候,看到的只是Source code。 Highway 字438 2004-07-23 20:30:01
评论 老兵帅客 字651 2004-07-23 20:45:09
😉这个观点我同意。因为说到最后还是机器代码在执行。
这种比较没意义 ppw 字40 2004-07-23 20:35:38
😮再说一遍,C/C++的代码一旦编译生成,就是一个二进制文件了。 Highway 字267 2004-07-23 20:46:28
二进制就是死的啊 ppw 字17 2004-07-23 20:48:28
说什么啊. ppw 字38 2004-07-23 20:20:21