主题:【原创】简单说两句动态优化 -- Highway
动态编译技术俺确实了解得不多,不过经过二位的解释,我想也应该有些概念的了的。不过Compiler是怎么回事,Java解释执行和C语言的区别俺还是知道的,C编译的结果已经就是本机CPU的指令集,Java的中间代码还是独立于本机指令集的中间代码,因此在VM把它变成最终的交给CPU执行的指令的时候可以按照动态收集的信息,选择比较好的翻译方式。
俺比较多的从系统的角度考虑问题,俺原来的意思其实就是这个动态优化的功能从理论上说在操作系统一级是可以实现的,VM的存在,不仅仅是要做动态优化,他还要做的工作在于维持中间代码独立于本机指令集的这个任务,而如果只考虑优化问题的话,把这个任务完全交给操作系统,俺认为可以做得到,CPU真正执行的指令序列是会要有所变化,但是可以是经过事先编译过的机器码片断。由操作系统来决定如何装配。
当然啦,这是个wild idea, 完全不是从现有的系统框架考虑问题。
不过,睡了一觉起来,又仔细想了想现有操作系统调用用户进程的方式,还有编译和执行的功能分开的原理和目的,确实,使用VM是一个比较顺理成章的解决方式,不过,如果我是一个致力于优化程序性能的人,俺还是会忍不住想去探索,真的没有两全其美的方式?
I think this is an open problem.
- 相关回复 上下关系8
😅【原创】简单说两句动态优化 1 Highway 字2112 2004-07-23 23:08:33
为什么一定要VM的存在才能做优化呢? 梦里依稀 字321 2004-07-23 23:19:01
☹️我还以为昨天老兵和我把这个问题说清楚了。看来还没有! Highway 字266 2004-07-24 07:02:03
呵呵,二位火眼金睛
😉Nothing is impossible! Highway 字55 2004-07-24 12:28:51
😜Highway不必那么客气嘛 梦里依稀 字38 2004-07-24 12:42:06
就是这个意思啊 ppw 字55 2004-07-24 05:29:06
不是一回事的东西, 非要比 ppw 字257 2004-07-25 08:42:03