写点什么

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:501412
用户头像

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

关注

评论

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

微软远程桌面连接工具,Remote Desktop下载 Mac远程软件

Rose

软件测试过程中的痛点思考

老张

提升效率 质量保障

算法人生(4):从“选项学习”看“战胜拖延”(担心失败版)

养心进行时

算法 强化学习 走出拖延 拖延 选项学习

算法人生(8):从“注意力算法”看“战胜拖延”(被分心太多版)

养心进行时

深度学习 算法 走出拖延 拖延 注意力算法

HBase Meta 元信息表修复实践

vivo互联网技术

HBase HBase meta表 HBase meta表修复

商品上新业务状态机接入实践

得物技术

Java 前端 企业号 2024年5月 PK 榜

ChatGPT-5最新消息;预计包含Sora模型;附最新使用教程

蓉蓉

openai ChatGPT4

GaussDB细粒度资源管控技术透视

华为云开发者联盟

数据库 华为云 华为云GaussDB 华为云开发者联盟 企业号2024年5月PK榜

一文盘点 Partisia Blockchain 生态 4 月市场进展

西柚子

魔兽争霸3冰封王座Warcraft III for mac 解除8M地图限制v1.24.0中文

Rose

测试答疑助手:从需求文档到设计文档、测试用例的完整测试过程

霍格沃兹测试开发学社

算法人生(9):从“贝叶斯更新”看“战胜拖延”(消极预期版)

养心进行时

机器学习 算法 贝叶斯算法 走出拖延 拖延

RWA会成为下一个风口吗?有哪些值得关注的项目?

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

目前市面上堡垒机厂家有哪些?会帮忙部署吗?

行云管家

网络安全 数据安全 数据加密 堡垒机

AnyGo for Mac(虚拟定位软件) 使用教程

Rose

大模型驱动的新一代 BI 平台,Sugar BI 开启智慧决策新模式

百度Geek说

企业号 5 月 PK 榜 Sugar BI 企业号2024年5月PK榜

暗黑破坏神II:狱火重生(暗黑破坏神2重制版)/毁灭之王中文版 Mac/win

Rose

算法人生(6):从“反馈学习”看“战胜拖延”(被动攻击版)

养心进行时

算法 强化学习 走出拖延 拖延 反馈学习

云南等级保护测评机构有哪些?分别在哪里?

行云管家

等保 堡垒机 云南 等保测评机构

Mac电脑风扇控制软件:Macs Fan Control Pro 授权激活版

Rose

Parallels Desktop 18 for Mac(Pd虚拟机) 18.3.2通用激活版

Rose

「参数」让流水线动起来

都广科技

DevOps

算法人生(2):从“强化学习”看如何“活在当下”

养心进行时

算法 活在当下 强化学习

算法人生(5):从“元学习”看“战胜拖延”(没兴趣版)

养心进行时

机器学习 算法 元学习 走出拖延 拖延

算法人生(7):从“时间折扣策略”看“战胜拖延”(等待最佳时机版)

养心进行时

算法 强化学习 走出拖延 拖延 时间折扣

一键自动化博客发布工具,用过的人都说好(cnblogs篇)

程序那些事

自动化 工具 程序那些事 自动发布

算法人生(1):从“强化学习”看如何“战胜拖延”

养心进行时

算法 拖延症 强化学习 走出拖延 拖延

算法人生(3):从“贪心算法”看“战胜拖延”(完美主义版)

养心进行时

算法 拖延症 贪心算法 走出拖延 拖延

关于Java Chassis 3的契约优先(API First)开发

EquatorCoco

Java Web API 开发语言

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