五千年(敝帚自珍)

主题:【讨论】解释执行类代码的性能有无可能达到甚至超过本机编译代码 -- 老兵帅客

共:💬64
全看分页树展 · 主题 跟帖
家园 回复

其实这种技术既不是微软发明的,也不是Sun的独创,当年的Bull机器(记得是Bull7000)就有这样的能力。

这个方法的核心就是对一段时间的执行特点作Profiler,它假定这个执行特点是稳定的,这样可以缩小工作集的大小,从而在一定程度上提高性能。但是其代价就是Profiler的开销,如果Profiler是由硬件完成的,并行可以减少性能损失;而如果Profiler完全靠软件来做,执行特点的稳定程度就成为至关重要的考虑因素了,否则就有可能得不偿失。

在软件中经常存在这样的情况:一个程序中不同的执行路径存在着不同的执行概率。对于概率差距比较明显的程序,上述优化方法的效果将会比较明显,否则意义不是很大。

忽然想起来,PC上似乎也存在一种优化器,可以根据程序的执行特点作Profiler,然后优化原有的.obj文件来生成新的可执行文件,这个思想和上面所讨论的是类似的,可惜那个优化器的名字想不起来了。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河