JIT 是 just in time 的缩写, 也就是即时编译编译器。
在运行时 JIT 会把翻译过的机器码保存起来,以备下次使用,
因此从理论上来说,采用该 JIT 技术可以接近以前纯编译技术。
相对于传统解释和编译的优势
JIT编译一个函数时并不一定编译整个函数,如一个if和else语句,如果判断else语句不会执行到,
那么else语句块内的代码并不会被编译,这样节省了资源.
另一方面,已经编译过的代码会驻留在内存里,这样下次就不用再编译了.
最后, 传统编译由于不知晓执行时的具体环境,只能做最大限度的通用优化,
JIT因为把编译推迟到了执行前(所以叫just in time, 再晚就来不及了),
此时具体的软硬件信息均已知晓, 有哪些具体的优化选项都知道了, 可以做传统编译做不到的优化.
参考链接
http://stackoverflow.com/questions/5589409/c-sharp-jit-compiling-and-net