為什麼編譯程式比直譯程式執行快?理論上不是應該直譯程式執行比較快嗎?
2006-08-17 15:34:10 · 4 個解答 · 發問者 ? 6 in 電腦與網際網路 ➔ 程式設計
首先要先理解編譯程式和直譯程式的運作。編譯程式是指在原始碼編寫完之後,進行編譯的動作,將原始碼轉成執行檔。而執行檔一般來說是編譯成機器(像是CPU的中央處理器)可以直接執行的指令碼。通常編譯器也會針對該目標執行機器的CPU做最佳化的處理,因此在執行程式的階段時,效能上會比較好。而直譯程式,則不用作編譯的動作。當程式要執行前,會先載入直譯器到記憶體內,而後針對程式作一行一行的讀取解譯和執行。由於是透過直譯器做一行行的解譯執行,對於程式碼的執行效能就沒有所謂最佳化的處理,因此在執行效能上,相對於編譯程式來說,會比較差。所以你問題中的效能,是針對程式在執行階段的效能來討論,就會發現編譯程式的執行效能會比較好。原因就在於程式碼已經編譯並且做過最佳化的處理,對於CPU來執行該程式,會較直接且快速。
2006-08-18 08:57:03 · answer #1 · answered by 淺倉 4 · 0⤊ 0⤋
台灣第一家合法博弈娛樂城熱烈開幕!
運動彩、遊戲對戰、現場百家樂、多國彩球
高賠率投注,歡迎您免費體驗!
官方網站 ss777.net
2014-01-02 11:07:52 · answer #2 · answered by Anonymous · 0⤊ 0⤋
最佳化是原因沒錯;
但主因是翻譯速度的問題,
不是最佳化加速的結果!!!
002 對主因只在最後輕輕寫過一句,我投票前不慎沒讀到,在此致歉。
2006-08-29 17:19:06 · answer #3 · answered by ? 7 · 0⤊ 0⤋
編譯程式在執行前會先程式先編譯好,所以只要編譯一次即可,但是載入時比較佔記憶體,但是執行效能比較好。直譯程式是執行到那一行就編譯那一行,雖然載入時記憶體佔的比較比較少,但是同樣的程式執行多次時,也就需要編譯多次,相對的浪費的時間就會比較多。
2006-08-17 19:57:07 · answer #4 · answered by 振煒 5 · 0⤊ 0⤋