写点什么

Mainsoft:在 JVM 中运行.NET 依旧能保证性能

  • 2007-07-25
  • 本文字数:1416 字

    阅读完需:约 5 分钟

Mainsoft 公司最近发布了 2.0 版本的 Mainsoft for Java EE (原名 Visual Mainwin),同时发布的还有一份有趣的白皮书 。据该白皮书称,一个基于.NET 的应用程序,若是借助于Mainsoft for Java EE 技术交叉编译之后运行于Java EE 平台上,那么在某些方面的性能甚至会强于原有的.NET 应用程序。InfoQ 为此特地采访了Mainsoft 的CEO—— Yaacov Cohen

Cohen 首先介绍了 Mainsoft for Java EE 的工作原理:

我们的交叉编译引擎将.NET Framework 生成的 Microsoft Intermediate Language(MSIL)交叉编译成 Java 的字节代码。然后我们基于 Java 的.NET Framework 实现即可支持应用程序运行于 Java 平台之上。不但如此,我们的 Visual Studio 扩展还能够允许开发者在 Java EE 平台上编写、编译、部署以及调试 Web 或服务器应用程序。

因为代码的交叉编译发生于字节码级别,所以其过程并不需要源文件转换——这就意味着开发者仍旧可以使用 Visual Studio.Net 作为他们可移植程序的开发环境。InfoQ 了解到,Mainsoft 还使用 Java 重新实现了很大的一部分.NET Framework,包括 ASP.Net ADO.Net 、以及 Web Service API 等。不过因为 Mainsoft for Java EE 主要专注于 Web 以及服务器应用程序方面,所以类似 Windows Form 的组件则没有提供。 InfoQ 查阅了 Mainsoft 的白皮书 ,这份白皮书提供了一个案例分析,讲述某家公司使用 Mainsoft for Java EE 将一个现有的基于 Windows 平台上的.NET 应用程序迁移到基于 Linux 平台上的 Java EE 中的故事。InfoQ

在这个案例中发现了如下值得注意之处: - 迁移后的 Java EE 应用程序运行于 IBM WebSphere BEA WebLogic Apache Tomcat 之上

  • 迁移后的 Java EE 应用程序在 Windows、 Linux AIX 平台上通过了测试
  • 在完全相同的硬件条件下,迁移后的 Java EE 应用程序(运行于 WebSphere 之上):
  • 每秒处理请求数(requests per second,RPS)比原有.NET 应用程序提高了 8%
  • 具有更好的 CPU 可伸缩性 ,在 RPS 方面几乎是线性增长的
  • 在各种经过测试的负载情况下,都提高了至少 4% 的响应时间
  • 在重负载情况下,RPS 提高了至少 5%

对于为何 Java 要快于.NET,Cohen 谨慎地解释说,这份白皮书的意义仅仅在于说明服务器应用程序能够在不损失性能的情况下进行迁移而已:

我们尽力调整这个开源的.NET 实现让其符合 WebSphere 的架构,以便充分发挥其长处——这与微软公司的.NET Framework 也充分地发挥了 IIS 和 Windows 的优势一样。关于那份性能评价,我们在两个操作系统以及硬件平台上都仔细地调整了垃圾收集算法、 页和堆的大小。在使用这些类库的同时,我们也发现了 IBM Java 虚拟机中很多值得优化的部分。在最新发布的 WebSphere Application Server 6.1 中,可以看到很多地方已经有所改进。

随着越来越多的公司开始开放其产品的源代码(例如 Sun 公司的 JDK Terracotta 公司的 DSO 以及 Adobe 公司的 Flex SDK 等),InfoQ 又询问了 Cohen 关于 Mainsoft 是否要跟随这个潮流。Cohen 回答到:

跨平台的.NET 将是一个非常艰巨的项目,并且 Mainsoft 是 Mono 开源项目最大的贡献者——几乎和 Novell 一样。所以除了核心的 mscorlib.jar(这个将作为 Mainsoft 的私有 Java EE 实现)之外,我们将所有的.NET Framework 代码都共享给了 Mono 项目。Mainsoft 同时也提供了一个叫做 Grasshopper 的免费开发版本 ,可用于将产品部署到 Tomcat 服务器以及单 CPU 配置上。

查看英文原文: Mainsoft: Running .NET on the JVM While Maintaining Performance

2007-07-25 23:501438
用户头像

发布了 37 篇内容, 共 88105 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

新思科技解读金融服务业的应用安全误区与现实

InfoQ_434670063458

新思科技 金融服务安全

Kafka为何弃用zookeeper(翻译)

石头哥谈架构

kafka kafka架构 分布式消息/流中间件

微服务架构设计模式-进程间通信

以吻封笺

微服务 设计模式

打造“云边一体化”,时序时空数据库TSDB技术原理深度揭秘

数据库 大数据 时序数据库 tsdb 数据智能

8月日更挑战正式开启,新人大奖等你来领!

InfoQ写作社区官方

8月日更 热门活动

希望体验更好的开发流程

escray

学习 极客时间 朱赟的技术管理课 7月日更

🏆「作者推荐!」【Java 技术之旅】彻底你明白什么是JIT编译器(Just In Time编译器)

洛神灬殇

Java 编译器 JIT compiler 即时编译器

ISC网络安全大会关于“新型网络犯罪打击与治理”的分析

郑州埃文科技

网络安全 isc

品牌轮:用MOT引导的品牌体验模型

石云升

用户体验 关键时刻 7月日更 体验设计

如何识别并解决复杂的dcache问题

安第斯智能云

后端

完备的娱乐行业知识图谱库如何建成?爱奇艺知识图谱落地实践

爱奇艺技术产品团队

nlp 搜索 知识图谱

爱奇艺搜索排序算法实践(内附福利)

爱奇艺技术产品团队

排序算法 nlp 搜索

你以为你懂redis?等看完某宝付费的资源你就知道了

Java架构师迁哥

HarmonyOS开发者创新大赛获奖作品分享——《分镜头App》

科技汇

ONES 当选深圳信创联盟副理事长单位,助力国产软件工业发展

万事ONES

信创 ONES

阿里巴巴Java岗面试题库更新(第8版)

Java架构师迁哥

Apache ShardingSphere:由开源驱动的分布式数据库中间件生态

亚马逊云科技 (Amazon Web Services)

人工智能 开源数据库

智慧农业陷转型困局,区块链如何“对症下药”?

CECBC

Fil收益怎么看?Fil一天收益如何?

区块链 IPFS fil收益 filecoin生态

【得物技术】服务发布时网络“抖动”

得物技术

网络 服务 响应时间 部署 发布

浪潮云洲赋能智造 拉升制造业“微笑曲线”

云计算

下一个颠覆的领域:区块链如何影响审计行业?(中)

CECBC

解读区块链技术对量子攻击的脆弱性以及量子安全区块链的解决方案

CECBC

这次不编故事了,阿里Spring Cloud Alibabab笔记,自己领吧

Java架构师迁哥

主流分布式文件系统选型,写得太好了!

编程菌

Java 编程 程序员 计算机 技术宅

手撕环形队列系列二:无锁实现高并发

实力程序员

程序员 数据结构 并发 无锁 环形队列

第九周作业-朴朴超市用户路径&转化漏斗

小夏

产品经理训练营 邱岳

第三周作业-知识星球利益相关者排序

小夏

产品经理训练营 邱岳

新工具上线!sdkmgr命令行助力流水线构建

科技汇

行云管家荣获CFS第十届财经峰会2021科技创新引领奖!

行云管家

行云管家 财经峰会

2021可信云大会顺利召开,北鲲云践行云计算六大发展趋势

北鲲云

Mainsoft:在JVM中运行.NET依旧能保证性能_Java_Ryan Slobojan_InfoQ精选文章