大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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

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

关注

评论

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

通过Milvus内置Sparse-BM25算法进行全文检索并将混合检索应用于RAG系统

阿里云大数据AI技术

全文检索 Milvus 混合检索 RAG应用 Sparse-BM25算法

一文吃透 Promise 与 async/await,异步编程也能如此简单!建议收藏!

左诗右码

动态化开发范式跃迁:AI驱动应用架构的敏捷重构

xuyinyin

跨国办公设备分散难管理?ManageEngine卓豪统一IT服务台

ServiceDesk_Plus

ManageEngine卓豪

7 月 SeaTunnel 社区狂飙:新特性、强优化、贡献者满分输出

白鲸开源

开源 数据同步 数据集成 Apache SeaTunnel

Rust 性能提升“最后一公里”:详解 Profiling 瓶颈定位与优化|得物技术

得物技术

rust Profile rust语言

昆仑万维「Matrix-Game 2.0」发布,国产开源的Genie 3来啦!

新消费日报

企业 IM 即时通讯BeeWorks

BeeWorks

即时通讯 IM 私有化部署

打开CAD图纸提示缺少外部参照是什么原因?怎么解决?

在路上

cad cad看图 CAD看图王

Java干货分享

codemonkey

#java #并发

开源能源管理系统应用前景:以 MyEMS 为例

开源能源管理系统

开源 能源管理系统

金蝶云•星辰基于 SLS 构建稳定高效可观测系统

阿里巴巴云原生

阿里云 云原生 日志服务 sls

非凸科技受邀参加Community Over Code Asia 2025 Rust分论坛

非凸科技

跨文化冲突下的品牌舆情管理

沃观Wovision

出海企业 舆情监控 沃观Wovision 海外舆情监测

主流自动化测试框架的技术解析与实战指南

测吧(北京)科技有限公司

人工智能 智能体 测试开发 playwright selenium

超融合架构 “破壁”:从企业到数据中心的全能应用版图

智驱前线

英伟达被约谈?国产替代迎来新机遇

禅道项目管理

软件开发 信创 软件安全 国产化替代 禅道项目管理软件

Apache SeaTunnel 新定位!迈向多模态数据集成的统一工具

白鲸开源

大数据 开源 数据集成 多模态 Apache SeaTunnel

CST帮助文档:SIMULIA网格处理软件---PowerDELTA

思茂信息

cst cst电磁仿真 CST Studio Suite

MyEMS:重塑能源管理,驱动高效节能新变革

开源能源管理系统

开源 能源管理系统

MyEMS 开源能源管理系统:双碳时代的能源革命引擎

开源能源管理系统

开源 能源管理系统

ClkLog埋点与用户行为分析系统2.0:架构升级性能跃迁,限时优惠速来体验

ClkLog

开源 用户行为分析 CDP 客户画像 埋点分析系统

技术文档 | 使用 Spring AI 实现一个简单的 Pulsar MCP Server

AscentStream

MCP

超越预算,打开企业预算管理新思维

智达方通

全面预算管理 财务管理 成本预算管理

告别研发痛点!群核科技靠 “自动化左移” 重构质量效能,效能飙升有何秘诀?

杭州群核科技质量效能

【新模型速递】PAI-Model Gallery云上一键部署gpt-oss系列模型

阿里云大数据AI技术

人工智能 大数据 大模型 模型部署 gpt-oss

全前维护LED显示屏优势和选购指南

Dylan

LED显示屏 全彩LED显示屏 户外LED显示屏 led显示屏厂家 户内led显示屏

Prometheus 告警时为何无法获取现场值

巴辉特

Prometheus 监控告警 夜莺监控 运维监控 开源监控

CAD中如何绘制圆弧?详细教程来了

在路上

cad cad看图 CAD看图王

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