lha*_*hne 9 .net mono performance
Web上充满了不同语言,编译器和虚拟机的各种性能测试.然而,几乎没有任何一个使用一些真实场景来测试性能.此外,在Google上搜索这些基准测试通常只会产生几年前的基准测试,因为他们有最多的时间收集链接.
您是否有任何人真正了解不同虚拟机的当前性能?另外我特别想知道如何单声道的效果的对比于那些微软的.Net和Sun的Java,以及如何不同的虚拟机的性能近来发展的.
mig*_*aza 12
衡量绩效是一件复杂的事情.过去,当语言针对同一操作系统进行测试时,运行相同的硬件和非常有限的库集,可以创建可以提供测量系统的线性度量的基准.它会让人们从0到10评估事物,同化结果并快速前进到下一个主题.
现代系统使事情变得更加复杂,因为需要考虑多个变量.
至少在Mono的情况下,有很多变量可以发挥作用:
码:
内存管理:
API设计:
所有这些都非常复杂,并且很难给出一个简单的0到10的答案.
如果您要在类中对语言进行分区,并且假设一个称职且具有性能意识的程序员,我会在这些类中划分世界:
但是这些语言并没有描绘出整个画面,您将使用的API,托管操作系统和其他设施将对您的结果产生重大影响.
例如,最近在Mono中,我们增加了对使用更高级,高度优化的引擎(LLVM引擎)替换Mono代码引擎的支持.事实证明,找到一个使用LLVM的开销值得额外内存使用的测试非常困难:桌面和Web应用程序没有表现出太大差异.这可能是因为这些主要是受I/O限制的应用程序.
使用LLVM对于科学和计算密集型应用程序非常有用,但在现实生活中它与Mono的默认优化设置没有多大区别.
至于Mono的细节:尽管Mono确实使用了Boehm的GC,但大多数人都没有意识到Boehm可以通过各种方式进行配置.默认的外行配置确实不是很强大,但它适用于想要快速GC的每个人.Mono在这种模式下不使用Boehm,Mono广泛配置Boehm以在精确模式下工作,同时利用线程本地存储,多核GC和释放内存到操作系统模式.
归档时间: |
|
查看次数: |
1657 次 |
最近记录: |