当前位置:  开发笔记 > 编程语言 > 正文

动态.NET语言性能?

如何解决《动态.NET语言性能?》经验,为你挑选了2个好方法。

我知道IronPython是.NET平台上的Python实现,就像IronRuby是Ruby的实现一样,F#或多或少都是OCaml.

我无法理解的是这些语言是否更接近他们的"祖先",或者更接近C#这样的速度.例如,IronPython是否以某种方式"编译"到C#使用的相同字节码,因此运行速度一样快?



1> Cody Brociou..:

IronPython和IronRuby构建在DLR(动态语言运行库)之上 - 并且可以动态编译为CIL(.NET使用的字节码).它们比C#慢,但比非.NET的同类产品更快.据我所知,没有任何体面的基准,但你会看到差异.



2> Jörg W Mitta..:

IronPython实际上是最快的Python实现.对于某些"最快"的定义,至少:例如,与CPython相比,CLR的启动开销很大.此外,优化编译器IronPython在代码执行多次时才真正有意义.

IronRyy有可能成为同样快速的IronPython,因为许多使IronPython变得快速的有趣功能已被提取到动态语言运行时,IronPython和IronRuby(以及托管JavaScript,动态VB,IronScheme,VistaSmalltalk等)建成了.

一般而言,语言实现的速度几乎与实际语言特征无关,并且更依赖于进入它的工程人员年数.IOW:动态与静态并不重要,金钱也是如此.

例如,Common Lisp是一种比Ruby或Python更具动态性的语言,但是有一些Common Lisp编译器甚至可以让C运行它的钱.Good Smalltalk实现的运行速度与Java一样快(因为主要的JVM,Sun HotSpot和IBM J9,实际上只是略微修改过的Smalltalk虚拟机)或C++,这并不奇怪.在过去的6个月中,主要的JavaScript实现(Mozilla TraceMonkey,Apple SquirrelFish Extreme和新版本的Google V8)已经取得了巨大的性能提升,10倍甚至更高,使JavaScript与优化C.

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有