2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

【LeetCode】子域名访问计数Java题解

Albert

LeetCode 10月月更

浅谈前端工程化的发展以及相关工具介绍

茶无味的一天

手写节流防抖函数

helloworld1024fd

JavaScript

推荐一款工具,辅助估算线程池参数

xiaoxi666

线程池

Vue3入门指北(九)生命周期钩子

Augus

Vue3 10月月更

大数据ELK(十三):Elasticsearch编程(添加职位数据)

Lansonli

10月月更

不懂FAQ页面怎么设计?一些产品FAQ页面模板展示!

Baklib

产品 FAQ

慧嗨

kcnf

Vue是怎样监听数组的变化的?

bb_xiaxia1998

Vue

假如面试官要你手写一个promise

helloworld1024fd

JavaScript

JDK源码对你最有触动的是哪一段#HashMap

琦彦

Java hashmap 10月月更

第一个只出现一次的字符 (哈希表、队列两种解法)

清风莫追

数据结构 算法 遍历 字符 10月月更

前端培训机构选择哪些建议

小谷哥

大数据培训学习如何选择?

小谷哥

前端培训学习比较实用的方法

小谷哥

Fiddler(二) - 使用Fiddler做抓包分析

No Silver Bullet

fiddler 抓包分析 10月月更

JDK源码对你最有触动的是哪一段#集合

琦彦

Java 集合 10月月更

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue

黄山归来不看岳:《Java开发手册(黄山版)》新增 11 条规约

琦彦

Java Java开发手册 10月月更

说说你对Vue的keep-alive的理解

bb_xiaxia1998

Vue

Spring 测试运行的时候提示 Unable to find a @SpringBootConfiguration 错误

HoneyMoose

Spring 项目启动测试的时候错误:Unable to acquire JDBC Connection

HoneyMoose

如何零基础学习大数据培训

小谷哥

C++学习---cstdio的源码学习分析05-打开文件函数fopen

桑榆

c++ 源码分析 10月月更

通过单步调试的方式学习 Angular 中 TView 和 LView 的概念

汪子熙

typescript 前端开发 angular 10月月更 前端开发web开发

反转字符串

清风莫追

数据结构 字符串 10月月更

求平方根 (又是辛苦debug的一天)

清风莫追

数据结构 算法 函数 10月月更

自学java培训之间学习方法有哪些

小谷哥

Timestone: Netflix的高吞吐、低延迟优先级队列系统

俞凡

架构

用纯CSS实现优惠券剪卡风格

茶无味的一天

CSS 前端

手写JS函数的call、apply、bind

helloworld1024fd

JavaScript

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