作者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