写点什么

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

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

关注

评论

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

华为的“少年天才”攀登者,出发向智能存储的“奥林帕斯山”

脑极体

ARTS打卡 第12周

引花眠

微服务 ARTS 打卡计划

Java统一异常处理(配置文件集中化定义)

xcbeyond

Java 架构 后端 统一异常

准时下班的秘密:集成 GitLab && JIRA 实现自动化工作流

Phoenix

团队协作 研发效能

IT人为什么难以拿高薪?

看山

成长 随笔杂谈 薪资 心灵鸡汤

ARTS Week12

时之虫

ARTS 打卡计划 arts

航运区块链 抗疫危中有机

CECBC

区块链 航运

区块链技术--公证人机制

CECBC

区块链 数字货币 公证人

螺旋矩阵算法,臭代码解析,微服务架构 Service Mesh 服务网格 RPC 协议实现原理 Dubbo 通讯协议,John 易筋 ARTS 打卡 Week 13

John(易筋)

ARTS 打卡计划

spark学习之IDEA配置spark并wordcount提交集群

我是程序员小贱

结算场景下的跳坑记

李印

python必备知识总结

我是程序员小贱

[python基础]2 python数据类型上篇

我是程序员小贱

Nginx之反向代理

xcbeyond

nginx 反向代理 代理

异常处理的那些事儿

松花皮蛋me

Java 设计模式

如何选择:Bootstrap Or Layui

引花眠

bootstrap layui

这样看mybatis,谁都会分析源码!

诸葛小猿

源码 mybatis mybatis源码

Bash 脚本的单元测试

柴锋

bash Linux DevOps Unit Test Shell

目前数字人民币试点仍是“4+1” 别误读了

CECBC

数字货币 央行 人民币

这些年看过的Linux相关书籍推荐

我是程序员小贱

16张图入门Nginx——(前端够用,运维入门)

执鸢者

nginx 运维 大前端

ARTS 07 - 使用 supervisor 配置 ngrok 内网穿透为守护进程

jerry.mei

算法 练习 ARTS 打卡计划 ARTS活动 内网穿透

SICP,我的函数式编程启蒙书

Kurtis Moxley

读书 函数式编程

一次由默认参数引起的思考

白日梦想家

编程 思考

全面了解CGI、FastCGI、PHP-FPM

书旅

CGI PHP-FPM Fast-CGI

正则表达式位置匹配——匹配两个特殊符号中间的内容

jerry.mei

Java 正则表达式 大前端 字符串匹配

[python基础]3 python数据类型下篇(不得不看的字典,列表大总结)

我是程序员小贱

JDK中居然也有反模式接口常量

看山

Java 源码阅读

SpringBoot系列(七):SpringBoot 中使用Redis缓存

xcbeyond

Java redis 微服务 springboot

SpringBoot系列(八):SpringBoot 中的事务处理

xcbeyond

Java 微服务 事务 springboot

蓝绿部署、金丝雀发布(灰度发布)、AB测试

看山

微服务 持续集成

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