看看 LLVM, 这是静态编译和JIT 组合的东西, 目前自身支持 C, 正在开发 C++, 第三方开发其他语言的支持.
用这个工具的话, 动静态语言对性能影响最大的, 会是语言的设计了 ---- 大家都可以静态+动态+ JIT ---- 只要有一小点动态的东西无
法静态, 或者静态化后产生大量的版本, 造成 working set 很大, 那么对性能的影响就会很大, 反之, 性能就会不错.
On Sep 1, 2:58 am, "R.C" <
colp...@gmail.com> wrote:
> 很多动态的内容对JIT来说是能推导出来的。
> 现在PC架构上,指令已经很便宜了,对性能影响最大的是流水线清空的penalty和缓存miss的penalty。用JIT的话,利用运行时的数据,能得到好得多的code path
>
> --------------------------------------------------
> From: "lxcypp lxc" <
lxc...@gmail.com>
> Sent: Monday, September 01, 2008 2:06 AM
> To: <
pon...@googlegroups.com>
> Subject: [TopLanguage] Re: 理想、完美的JIT是不是可以达到C的效率?
>
> > 虽然JIT可以做到不解释运行,但是动态语言和静态语言的差别就在于 动态性,很多东西是无法静态化下来的,从而一定还有需要解释的部分。。。
>
> > 况且我也怀疑JIT的编译和优化效率
>
> > 2008/9/1 R.C <
colp...@gmail.com>:
> >> JIT之后就不是解释运行拉!
> >> 理论上来说,应该是可以超过C编译出的代码的。
> >> 应该JIT可以利用平台上的最大特性,而静态编译的话只是利用了一个比较小的子集
>
> >> --------------------------------------------------
> >> From: "lxcypp lxc" <
lxc...@gmail.com>
> >> Sent: Monday, September 01, 2008 12:58 AM
> >> To: <
pon...@googlegroups.com>
> >> Subject: [TopLanguage] Re: 理想、完美的JIT是不是可以达到C的效率?
>
> >>> 在现有的PC架构下永远不可能。
> >>> 解释器的效率怎么可能和机器码比(况且这还不是最主要的因素)
>
> >>> 2008/9/1 est <
electronix...@gmail.com>: