※ 引述《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