西西河

主题:【原创】简单说两句动态优化 -- Highway

共:💬8 🌺1
全看分页树展 · 主题 跟帖
家园 呵呵,二位火眼金睛

动态编译技术俺确实了解得不多,不过经过二位的解释,我想也应该有些概念的了的。不过Compiler是怎么回事,Java解释执行和C语言的区别俺还是知道的,C编译的结果已经就是本机CPU的指令集,Java的中间代码还是独立于本机指令集的中间代码,因此在VM把它变成最终的交给CPU执行的指令的时候可以按照动态收集的信息,选择比较好的翻译方式。

俺比较多的从系统的角度考虑问题,俺原来的意思其实就是这个动态优化的功能从理论上说在操作系统一级是可以实现的,VM的存在,不仅仅是要做动态优化,他还要做的工作在于维持中间代码独立于本机指令集的这个任务,而如果只考虑优化问题的话,把这个任务完全交给操作系统,俺认为可以做得到,CPU真正执行的指令序列是会要有所变化,但是可以是经过事先编译过的机器码片断。由操作系统来决定如何装配。

当然啦,这是个wild idea, 完全不是从现有的系统框架考虑问题。

不过,睡了一觉起来,又仔细想了想现有操作系统调用用户进程的方式,还有编译和执行的功能分开的原理和目的,确实,使用VM是一个比较顺理成章的解决方式,不过,如果我是一个致力于优化程序性能的人,俺还是会忍不住想去探索,真的没有两全其美的方式?

I think this is an open problem.

全看分页树展 · 主题 跟帖


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

Copyright © cchere 西西河