精華區beta Programming 關於我們 聯絡資訊
※ 引述《Contactman.bbs@bbs.badcow.com.tw (上B只為剿小白出氣!)》之銘言: : ※ 引述《tinlans.bbs@whshs.cs.nccu.edu.tw (汀)》之銘言: : : 我倒是覺得 NGen 對 .NET 來說是一把雙面刃, : : 不要忘記 .NET 程式經過 NGen 處理過以後, : : 傳統 compiler 沒辦法在 runtime 做到的即時最佳化, : : 也會變得無法進行了, : : 因為它算是一種 Pre-JIT 的做法, : : 而且就我的印象中, : : 使用 NGen 依然不能刪除原本帶有 IL 的程式, : : 這代表在執行時還是會有參考它的可能性, : : 不過這一點我並不是很確定。 : 你是對的, 而且在程式剛起來的時候, 還會先檢驗NGen出來的執行檔和 : 對應的IL assembly的版本是否一致, 若不一致, NGen出來的東西會被忽略, : JIT會立即重新Complier一份新的native code. 這個缺點在 .net 2.0 有改進。現在 dependencies 的 structral information 已經不會包含在 NGENed 的 native image 裡面,而是存放在 registry, 所以不會因為 reference 到的 assembly 版本有所變更就需要改用 JIT。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.36.38