主题:【原创】总复老兵:解释执行类代码的性能有无可能达到甚至超过本机编译代码 -- Highway
长话短说,把我的意思再强调一下。
1。解释执行类代码的性能一定会超过本机编译代码是一个预言。现在还没有做到。将来能否做到,什么时候可以做到我们还需要观察。
2。解释执行和编译执行由于工作性质的不同而呈现出不同的特点。因该说各有长处。就现在而言,编译代码在总体上仍然占有优势。但解释执行性能提升空间还很大,我们有理由对它的前途乐观。由于解释执行类语言在其他方面的优势,微软,SUN已经将开发重点转移了过来。微软的下一代操作系统,数据库系统都是build aronund managed code的。看来微软对managed code是很有信心的。
3。解释执行类代码在某些情况下的优势不能扩大而覆盖整个程序的life cycle。如下面所以,Hotspot能起作用的只是bytecode execution part。这一部分的比重将极大的影响程序的总体性能。所以Java最后成功的地方是back end,而不是最开始“让网络活起来”的Applet以及其他front end (AWT,Swing and so on)技术。Back end application是Java扬长避短的最好场所。
4。微软的.NET情况又有些特殊。一方面,managed code比以前纯解释性的语言,如VBA,VBScript(ASP中广泛使用的)有了很大的性能提高,但如果和C++,WINAPI等等相比,性能还有一定的劣势。但看样子微软是把宝押在.NET上了。除了最底层的一些service外,微软今后的目标是尽可能将所有的产品逐步.NET化(所谓的.Netlization)。
5。.NET的优化技术和SUN Java不是很一样。就我看到的资料而言,我觉得Sun的Hotspot在理论上要比微软.NET的JIT更好。当然哪个产品更好是另外一回事。
6。最后说一点,Java和.NET是分别由两个编译语言高手领导创建的。一个是来自Sun的C/C++老兵,一个出身于Borland的Pascal大师。Java和.NET不意味着对编译语言的否定,只是CS向前迈进的又一个脚步。
本帖一共被 1 帖 引用 (帖内工具实现)
- 相关回复 上下关系8
【原创】总复老兵:解释执行类代码的性能有无可能达到甚至超过本机编译代码
回复 1 老兵帅客 字492 2004-07-29 18:31:30
I agree 交流电 字178 2005-10-20 10:45:27
😉Why not? At the end of day, it's binary machine code get executed. Highway 字333 2005-10-20 11:22:02
老兵能否讲讲跨平台的需求为什么会有利于解释型语言 梦里依稀 字0 2004-07-29 19:00:50
回您的话 老兵帅客 字1789 2004-07-29 20:55:53
谢谢答复, 再问老兵 梦里依稀 字786 2004-07-31 07:04:26
😄这个问题好回答 老兵帅客 字500 2004-07-31 11:33:36