作者godfat (godfat 真常)
看板PLT
标题Re: [问题] interprete &compile 这两个字
时间Sat Sep 15 14:17:12 2007
※ 引述《juamvla (绿)》之铭言:
: 至於compile会出现target code
: 最主要是为了把原本的程式编译成跨平台
不是吧,如果你是说 java, 扯到 vm 那又是另外一回事了
: 有了跨平台的target code
像是 c/c++ 生出来的 target code 是有分各种架构的
例如 mac 上的 universal binary, 其实就是 x86 code + ppc code 合并。
: 但是直译interpet程式跑比较快
: 因为假设有一个程式有100行
: 某使用者可能只用到前50行的功能就不使用了
: 由於程式编跑边直译 所以他也只要直译前50行程式
: 但编译就不同了 它必须先把程式全部的100行都先编译完
: 再呈现给使用者使用
....噫,这样讲实在很怪,通常我们所说一个程式跑得「快」
是指其 runtime performance, 绝对不会包括 compile time,
如果把执行时间当成 compile time + runtime,
这样比的话实在没什麽意义,因为这样几乎完全取决於你的测试程式是什麽了。
另外前面 ggg12345 提到的 JIT, 当然可以替 interpreting 增进很多很多的效能,
不过之前 programming 连线板也有讨论到相似的议题:
interpreter 固然有许多先进的技术,但也不能无视 compiler 的最佳化能力啊。
--
生死去来、棚头傀儡、一线断时、落落磊磊
《花镜》-世阿弥
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.28.18