[入门] 有人关注mono吗?

zsxxsz 2009-08-24
codekitten 写道
如果说虚拟机语言已经足够快了,那么D语言的优势在哪里呢。。。


足够快是多快?如果比较一下,会感觉还是不够快,毕竟中间还隔了一层:虚拟机,除非哪天虚拟机本身就是一个OS,直接控制硬件
codekitten 2009-08-24
zsxxsz 写道
codekitten 写道
如果说虚拟机语言已经足够快了,那么D语言的优势在哪里呢。。。


足够快是多快?如果比较一下,会感觉还是不够快,毕竟中间还隔了一层:虚拟机,除非哪天虚拟机本身就是一个OS,直接控制硬件


如果和编译型语言在性能上没有数量级上的差距,那么我觉得已经够快了。。。
oldrev 2009-08-24
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=gcc&lang2=java&box=1

这样算不算“足够快”
tomqyp 2009-08-24
RednaxelaFX 写道


通过Mono的AOT模式编译和链接,在Mono上运行的C#程序可以完全转换为native code保存下来.....


刚才试了一下用AOT模式来编译.net程序,结果程序被编译成了dll,怎么运行呢?

mono --full-aot test.exe 吗? 报错啊
tomqyp 2009-08-24
如果不加任何参数虽然可以用mono运行测试的.net程序,但是AOT编译出的DLL却没有被加载。

虽然AOT编译出的DLL是native代码,但是怎么确定它被执行了呢?
RednaxelaFX 2009-08-24
http://www.mono-project.com/AOT
这个链接应该有足够说明了……包括Mono的full AOT当前的限制,例如只能在AMD64或者ARM上使用(orz
于是我还没试过用Mono的AOT模式……因为对我来说这个必要性不大,而且我也没合适的机器试。AMD64的机器老爸倒是有,不过老爸不让我动他的机器 T T

设置这两个环境变量应该能看到Mono是否加载了AOT后的DLL吧:
MONO_LOG_MASK=aot
MONO_LOG_LEVEL=debug

如果在某个平台上使用--aot=full得到AOT的DLL后再--full-aot出错的话,那就是当前Mono的full AOT实现在那个平台上不行了。

开源项目就是要“scratch your own itch”,如果没人有这样的需求外加精力去实现缺失的功能的话,功能是不会神奇的出现的……
tomqyp 2009-08-24
RednaxelaFX 写道
http://www.mono-project.com/AOT
这个链接应该有足够说明了……

设置这两个环境变量应该能看到Mono是否加载了AOT后的DLL吧:
MONO_LOG_MASK=aot
MONO_LOG_LEVEL=debug

多谢 明天试试
mathgl 2009-08-25
mono的 runtime不算太慢吧。。以前看到过那个多语言的运行评测。。速度甚至比java略快。 占用内存还少。 没觉得它很慢。。当然1.2.6版本之前的是比较慢。

现在winforms的bug依旧多。
zsxxsz 2009-08-25
oldrev 写道


一两项测试说明不了什么,就象原来有一阵儿C++技术人员以C++标准模板库中的快速排序觉得比C的实现要快而沾沾自喜一样(当然C++已经比较接近C的性能了)。各种开发语言都有各自的优劣势,JAVA、.NET、PHP的开发效率高,但有时为了性能却需要与C/C++写的东东结合(这就是为什么很多网站里memcached能够大行其道的原因,其实它的代码并不复杂,其中有一项重要功能---"内存切片"的使用就是其它语言如JAVA、.NET、PHP所不常用的)。
而D似乎是多种流行语言优势的结合,只是现在的发展慢下来了,如果有象IBM样的大公司支持就好了:)
codekitten 2009-08-25
zsxxsz 写道
oldrev 写道


一两项测试说明不了什么,就象原来有一阵儿C++技术人员以C++标准模板库中的快速排序觉得比C的实现要快而沾沾自喜一样(当然C++已经比较接近C的性能了)。各种开发语言都有各自的优劣势,JAVA、.NET、PHP的开发效率高,但有时为了性能却需要与C/C++写的东东结合(这就是为什么很多网站里memcached能够大行其道的原因,其实它的代码并不复杂,其中有一项重要功能---"内存切片"的使用就是其它语言如JAVA、.NET、PHP所不常用的)。
而D似乎是多种流行语言优势的结合,只是现在的发展慢下来了,如果有象IBM样的大公司支持就好了:)


关键是没有库啊。。。
Global site tag (gtag.js) - Google Analytics