微软声称.NET项目能运行在JVM而维持原有性能

【IT168技术新闻】微软最近发布了Mainsoft for Java EE 2.0版本(先前被称为Visual
Mainwin),并且还发布了intriguing whitepaper ,它展示了一个基于.NET的应用程序使用Mainsoft for Java
EE,交叉编译运行在Java EE上,比原来仅仅运行在.NET环境表现出来的性能更好。让我们听听Mainsoft 首任执行官 Yaacov
Cohen是如何评论的。

    首先,大家要求Cohen描述一阿下Mainsoft在Java EE中是工作原理是怎么样的。


    最初是.NET Framework
框架编译器生成微软中间语言代码(MSIL),交叉编译引擎交叉编译这些微软中间语言代码,将它们生成Java 字节码。.对NET
Framework运行时间进行了基于Java的实现,因此支持应用程序执行的类。最终,我们对Visual
Studio进行扩展,能够使得开发者在JEE平台上编写代码,编译,部署,调试Web应用程序和服务器应用程序。

   
既然代码是交叉编译的,并且还是字节码 的,因此不需要在进行转换了——这意味着对于通信应用程序(ported
application),Visual Studio.Net仍旧是一个单一的开发环境。InfoQ发现Mainsoft宠幸用Java实现了.Net
Framework框架的大部分,包括ASP.Net, ADO.Net 和Web 服务API,但是,因为Mainsoft是为Java
EE打造的,所有它焦点放在web 和server 应用程序上,比如说像Windows Forms 这样的组件还没有实现。

   
InfoQ发现Mainsoft whitepaper给我们呈现了一个学习案例,一个公司使用Mainsoft for Java
EE让一个基于.Net的Windows应用程序和一个基于Java EE的Linux应用程序通信,结果发现如下问题:

· 被通信的Java EE
应用程序继续工作在IBM WebSphere, BEA WebLogic 和 Apache Tomcat 上。
· 被通信的Java EE
应用程序在Windows, Linux, 和 AIX 上测试过。
· 同 样的硬件,被通信的Java EE 应用程序运行在WebSphere上


1)比原始的.Net应用程序每秒钟能够多处理8%的请求
2) 拥有更好的CPU伸缩性(CPU scalability),o RPS几乎线性增长。
3) 响应时间至少快4%

4)重负荷情况下至少多处理5% RPS

   
被问到为什么Java比.NET,快的时候,Cohen很谨慎的指出whitepaper有意的大家展示服务器应用程序能够通信,而不影响性能。

   
我们均衡了与之相当的性能,通过协调开源.NET工具来适合WebSphere的框架强度,就像Microsoft如何调节.NET
framework框架和IIS、Windows。经过性能的研究,我们配置了合适的垃圾回收算法,页面大小和堆大小。我们还认识到在某些情况下需要优化IBM的Java虚拟机。这些变化在WebSphere
Server 6.1中广泛存在。

    现在有许多的公司都在开源自己的产品(如Sun's JDK, Terracotta's DSO,
和Adobe's Flex SDK),InfoQ询问Cohen 一个问题,Mainsoft 是否也跟着它们的步伐,也开源Mainsoft。他答道:
跨平台的.NET是一个前途无量的项目,几乎和Novell公司一样,是Mono open source project最大的贡献者。我们和Mono分享了.NET
Framework,除了mscorlib.jar这个核心库,这是微软拥有所有权的,对.NET核心类库进行了Java EE实现。

   
Mainsoft已经你跟提供了免费的开发编辑器,称为Grasshopper,可以用来在Tomcat和单个CPU配置上的开发。
posted @ 2011-04-21 21:47  thinksea  阅读(311)  评论(0编辑  收藏  举报