精華區beta Programming 關於我們 聯絡資訊
※ 引述《tinlans.bbs@whshs.cs.nccu.edu.tw (汀)》之銘言: : ※ 引述《andygogo@kkcity.com.tw》之銘言: : > 哪即然是模仿c++,請問vb.net跟c#是編譯還是直譯 : > 抱歉我書沒寫,哪如果是編譯,效率就大大提昇了 : 跟 Java 一樣是 hybrid, : 先編譯後直譯, : 編譯出來的是中間碼不是目的碼, : 執行期由 virtual machine 直譯中間碼。 : 兩者都有 JIT 的機制, : 不過我不清楚 .NET 是不是也叫 JIT, IL 永遠都是 compile 成 native code 執行, 可能用 JIT (Just-In-Time) compiler 或是 NGen.exe (native code generator) 在 deployment 的時候做. : 有 JIT 而且剛好運氣好的話, : 執行速度會跟編譯式很接近, : 當然沒有完全相等或超越的機會。 Managed application 在某些情況下會比 unmanaged application 有著更好 的效能, 例如 JITter 可以針對各種不同的 CPU 做最佳化, CLR (Common Language Runtime) 也會針對 code execution 產生 profile 而重新編譯 某些 IL 來增加效能, 隨著 .net Framework (強調一下這是 Microsoft 對 CLI Standard 的實作, 任何人都可以自由實作) 的演化, 應該會有更好的 最佳化技巧. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.36.38