mono (.NET for Linux) 0.25发布及其横向评测
2003-07-12 22:23
781 查看
mono项目(http://www.go-mono.org/)是移植Microsoft .NET Framework到Linux平台的一个Open Source项目,北京时间今天上午(6月27号)发布0.25版,除了源代码,还有For RedHat Linux x86 9.x/8.x/7.x、Mandrake 9.1/x86、Debian和Windows (XP, 2000, NT)的二进制安装包可以直接下载。完成程度已经比较高,虽然还没有实现完整的类库,但是仅仅8M多的体积,就已经包含了全部执行环境和在二十多兆的Microsoft .NET Framework,甚至一百多兆的Microsoft .NET Framework SDK都没有包含的C#编译器。即使相对Java SDK 三十多兆的体积也是很小的。是学习C#和.NET非常好的入门工具。不过它是不包含开发文档的,必须安装.NET Framework SDK才可以获得类库参考等文档。
大家如果同时有Windows和Linux环境并且都安装mono, 试用过程中就会惊喜的发现,用Windows或者Linux平台上的mono C#编译器编译出的exe文件可以不需重新编译就由两个操作系统的mono执行环境直接执行。这意味着什么呢?不正是著名的”Compile Once, Run Everywhere”吗?虽然mono现在只支持Windows和Linux的x86版本, 但相信移植到其他平台困难不大。这样的话exe文件跟Java的class文件还有什么区别吗?Java要如何面对?
这里我列出了早前使用mono 0.24版进行的Java, mono, MS .NET Framework的简单横向性能比较。
测试任务是比较简单的,考虑到比较耗时的一般是浮点运算,而平时Java应用中发现大部分的时间消耗在类的创建过程,因此设计了以下简单的任务:大循环创建浮点和整数数组,内循环将数组内的值进行重复的运算。两个任务分别用Java, C#实现,在以下环境执行:
Linux : Red Hat Linux 7.3 2.96-110, kernel 2.4.18-3, Intel(R) Pentium(R) 4 CPU 1.60GHz, 256M RAM
win2k : Windows 2000 Professional SP3, Intel Celeron 800MHz, 384M RAM
java : win2k: Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode); Linux: Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01) Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)
mono : mono JIT compiler version 0.24 http://www.go-mono.org/download.html
Microsoft Framework : Microsoft .NET Framework 1.1
(注:结果图片)
结果图片
/Develop/ArticleImages/19/19612/CSDN_Dev_Image_2003-7-122052231.gif
数字显示的是完成任务消耗的毫秒数。
从测试结果我们可以大致的看出mono的JIT编译器和虚拟机跟Java的相比效率还比较差,虽然在快的CPU上差距大幅缩小,特别是浮点运算。考虑到JDK1.4.0的Hotspot JVM已经经过了近十年投资巨额金钱的优化,而mono仅仅是业余爱好者在不到一年时间内开发出来的,提高的空间应该还很大。再加上同样的“一次编译,到处运行”特性。Java,要走好了。Java对MS .NET Framework方面则是后者占优。
刚进行了mono 0.25的简单测试,相对0.24版有小幅度提高。可见mono还是在进步中。让我们希望这个新的跨平台开发环境再接再厉,给我们一个新的选择。
发布人:bruise
来源:博客中国-卢威
大家如果同时有Windows和Linux环境并且都安装mono, 试用过程中就会惊喜的发现,用Windows或者Linux平台上的mono C#编译器编译出的exe文件可以不需重新编译就由两个操作系统的mono执行环境直接执行。这意味着什么呢?不正是著名的”Compile Once, Run Everywhere”吗?虽然mono现在只支持Windows和Linux的x86版本, 但相信移植到其他平台困难不大。这样的话exe文件跟Java的class文件还有什么区别吗?Java要如何面对?
这里我列出了早前使用mono 0.24版进行的Java, mono, MS .NET Framework的简单横向性能比较。
测试任务是比较简单的,考虑到比较耗时的一般是浮点运算,而平时Java应用中发现大部分的时间消耗在类的创建过程,因此设计了以下简单的任务:大循环创建浮点和整数数组,内循环将数组内的值进行重复的运算。两个任务分别用Java, C#实现,在以下环境执行:
Linux : Red Hat Linux 7.3 2.96-110, kernel 2.4.18-3, Intel(R) Pentium(R) 4 CPU 1.60GHz, 256M RAM
win2k : Windows 2000 Professional SP3, Intel Celeron 800MHz, 384M RAM
java : win2k: Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-b92)Java HotSpot(TM) Client VM (build 1.4.0-b92, mixed mode); Linux: Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01) Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode)
mono : mono JIT compiler version 0.24 http://www.go-mono.org/download.html
Microsoft Framework : Microsoft .NET Framework 1.1
(注:结果图片)
结果图片
/Develop/ArticleImages/19/19612/CSDN_Dev_Image_2003-7-122052231.gif
数字显示的是完成任务消耗的毫秒数。
从测试结果我们可以大致的看出mono的JIT编译器和虚拟机跟Java的相比效率还比较差,虽然在快的CPU上差距大幅缩小,特别是浮点运算。考虑到JDK1.4.0的Hotspot JVM已经经过了近十年投资巨额金钱的优化,而mono仅仅是业余爱好者在不到一年时间内开发出来的,提高的空间应该还很大。再加上同样的“一次编译,到处运行”特性。Java,要走好了。Java对MS .NET Framework方面则是后者占优。
刚进行了mono 0.25的简单测试,相对0.24版有小幅度提高。可见mono还是在进步中。让我们希望这个新的跨平台开发环境再接再厉,给我们一个新的选择。
发布人:bruise
来源:博客中国-卢威
相关文章推荐
- 在Linux(Ubuntu/openSUSE/CentOS)下配置ASP.NET(Apache + Mono)
- NET Core MVC 在linux上的创建及发布
- 【无私分享:ASP.NET CORE 项目实战(第十章)】发布项目到 Linux 上运行 Core 项目
- 好记性不如烂笔头 安装IIS及其发布asp.net网站
- Jexus v5.2 发布,Linux 的 ASP.NET web服务器
- 在 Linux 上使用 Jexus + Mono 建立 Asp.Net 网站.
- 云服务系列:Windows Azure SDK for .NET(2012 年 6 月发布的版本)的最新消息
- WebUI Studio for ASP.NET发布2013版本 全面支持HTML5和CSS3
- 腾讯今天发布linux版QQ :Tencent QQ for Linux 1.0 Preview
- Linux+Mono+Asp.net入门
- 企业级Office编辑套包Spire.Office for .NET V2.16发布 | 附下载
- 绿色版的Linux.NET——“Jws.Mono”(续)
- 用lighttpd+mono在Linux上面跑ASP.NET程序
- (转)Centos5.5安装MONO2.10.8和Jexus 5.0开启Linux平台.net应用新篇章
- Linux+Mono+Asp.net入门:00软件下载地址
- 发布wordpress for .net monosys,及monosys带来的更好的虚机+paas选型
- 用lighttpd+mono在Linux上面跑ASP.NET程序
- Essential Studio for ASP.NET Web Forms发布2017 v2,新增自定义树形网格工具栏等
- 2017-03-04 dotnet core网站发布到Linux系统中