[入门] 有人关注mono吗?
zsxxsz
2009-08-24
codekitten 写道 如果说虚拟机语言已经足够快了,那么D语言的优势在哪里呢。。。
足够快是多快?如果比较一下,会感觉还是不够快,毕竟中间还隔了一层:虚拟机,除非哪天虚拟机本身就是一个OS,直接控制硬件 |
|
codekitten
2009-08-24
zsxxsz 写道 codekitten 写道 如果说虚拟机语言已经足够快了,那么D语言的优势在哪里呢。。。
足够快是多快?如果比较一下,会感觉还是不够快,毕竟中间还隔了一层:虚拟机,除非哪天虚拟机本身就是一个OS,直接控制硬件 如果和编译型语言在性能上没有数量级上的差距,那么我觉得已经够快了。。。 |
|
oldrev
2009-08-24
|
|
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样的大公司支持就好了:) 关键是没有库啊。。。 |