写点什么

Mono 2.2 有了新的线性代码生成引擎

  • 2009-01-27
  • 本文字数:484 字

    阅读完需:约 2 分钟

直到现在 Mono 的代码生成引擎都是基于树状的代码中间表现形式(Intermediate Representation,IR)。Mono 2.2 版有了一个基于线性IR 的新引擎,大大改善了速度和代码大小。

Miguel de Icaza 说,原先树状的 IR 导致“很难有效改进代码生成及扩展 JIT 引擎”。新的线性 IR 有助于“寄存器分配程序更好地了解寄存器的使用状况,从而在生成代码的时候更好地决策”。

线性 IR 的开发工作始于2005 年末。工作一直在进展,但Mono 团队不想把新引擎放进Mono 2.0 版,因为牵涉到的工作实在是太多了。现在随着 2.2 版发布,Mono 终于用上了新引擎。

新引擎的巨大成效从基准测试结果可见一斑:

速度:计算密集的代码会从新引擎得益较多,一般有 10% 到 30% 的性能提升,某些情况下最高可提速 50%。

代码大小:新引擎产生的代码更紧凑,一般可缩小 12% 到 20%。

想了解新引擎技术细节的读者请参阅Mono 的网站。 2.2 版发布说明上提到以下主要改进:性能提升、支持完全的提前编译、支持通过PerformanceCounters 监控、支持运行时动态挂载代码(attaching code live)、支持SIMD ,不一而足。

查看英文原文: Mono 2.2 Has a Linear Code Generation Engine

2009-01-27 07:141836
用户头像

发布了 225 篇内容, 共 74.4 次阅读, 收获喜欢 53 次。

关注

评论

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

如何做需求分析?

万事ONES

产品经理 需求分析 ONES

JAVA 九种排序算法详解(中)

加百利

Java 数组 排序 7月日更

DDD笔记

topsion

《持之以恒的从事运动》二

Changing Lin

从结构体、内存池初始化到申请释放,详细解读鸿蒙轻内核的动态内存管理

华为云开发者联盟

鸿蒙

Go 学习笔记之 整型数据类型

架构精进之路

Go 语言 7月日更

数字化转型提升太平洋保险风险治理能力

数据湖洞见

大数据

GIN钱包挖矿系统开发|GIN钱包挖矿软件APP开发

项目经理的职责和权限分别是什么?

万事ONES

项目管理 ONES 项目经理

NumPy_2021.07.05

Flychen

快看吧系统开发|快看吧软件APP开发

微摩尔WMO软件系统开发介绍

2022秋招vue面试题+答案

buchila11

Vue Vue 3

系统故障防不胜防?不存在的,让大佬来给你上一课!

TakinTalks稳定性社区

高可用 测试 全链路压测 测试工具 生产环境全链路压测

Nacos配置中心交互模型是 push 还是 pull ?你应该这么回答

程序员小富

Java 编程 程序员 分布式 nacos

从零实现一个 k-v 存储引擎

roseduan

存储 Go 语言 KV存储引擎 存储系统

聊聊数据仓库中维度表设计的二三事

云祁

数据仓库 维度建模 7月日更

今天,「浪潮云说」直播间开讲啦!

云计算

社交软件上“你可能认识的人”到底是怎么找到你的?

华为云开发者联盟

知识图谱 社交软件 TransE模型 用户画像 知识图谱补全

Java开发从二面被拒到收割阿里架构offer,我花了一年时间,复盘成功经历!

Java架构追梦

Java 阿里巴巴 架构 offer 成长笔记

XRP瑞波币系统开发|XRP瑞波币软件APP开发

北鲲云超算平台——致力于提高科研效率,降低计算成本的云超算平台

北鲲云

BHDEX币挖矿APP系统开发内容

如何给MindSpore添加一个新的硬件后端?快速构建测试环境!

华为云开发者联盟

AI 模型 框架 mindspore

Serverless 崛起背后的五大挑战

Serverless Devs

Serverless

聚星公社软件开发|聚星公社APP系统开发

国家网信办:“滴滴出行” 下架整改!

学神来啦

云图说 | 华为云医疗智能体智联大健康:AI医学影像

华为云开发者联盟

AI 医学影像 医疗智能体 华为云医疗智能体 大健康

免费分享学习Java框架Netty的优秀图书

Java入门到架构

Java 书籍推荐

真happy软件开发|真happy系统APP开发

Mono 2.2有了新的线性代码生成引擎_.NET_Abel Avram_InfoQ精选文章