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

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

关注

评论

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

容灾数据一致性保障探讨

agnostic

容灾 CAP

浅述AIOps与DevOps的区别在哪里

穿过生命散发芬芳

DevOps AIOPS 9月月更

好代码的五个特质-CUPID

Bright

敏捷 DDD TDD

用TDD开发基于数据库的长时任务系统

Bright

敏捷 DDD TDD

如何看待2023年秋招技术岗哀鸿遍野?

退休的汤姆

程序员 互联网 面试 社招 秋招

C语言:位段、枚举、联合体

孤衫

后端 C语言 枚举 9月月更

「趣学前端」SVG,边学边做

叶一一

JavaScript 前端 9月月更

redis数据结构之压缩列表

急需上岸的小谢

9月月更

设计模式的艺术 第二十四章策略设计模式练习(开发一款飞机模拟系统,该系统主要模拟不同种类飞机的飞行特征与起飞特征,为了将来能够模拟更多种类的飞机,试采用策略模式设计该飞机模拟系统)

代廉洁

设计模式的艺术

FreeRTOS记录(一、熟悉开发环境以及CubeMX下FreeRTOS配置)

矜辰所致

STM32CubeMX FreeRTOS 9月月更

我理解的Smart Domain与DDD

Bright

敏捷 DDD TDD

C++学习------cstdint头文件的源码学习

桑榆

c++ 源码阅读 9月月更

已献出膝盖!GitHub上的宝藏级SpringBoot核心文档,讲得太清晰了

退休的汤姆

程序员 面经 面试技巧 秋招 Java八股文

LeetCode-35. 搜索插入位置(java)

bug菌

9月日更 Leet Code 9月月更

大型网站架构

源字节1号

软件架构 后端开发

LeetCode-53. 最大子数组和(java)

bug菌

9月日更 Leet Code 9月月更

Java进阶(四)Java反射TypeToken解决泛型运行时类型擦除问题

No Silver Bullet

Java 反射 9月月更 typeToken

新零售SaaS架构:商品系统架构设计

AI架构师汤师爷

系统架构 SaaS 新零售

从改善设计的角度理解TDD

Bright

敏捷 TDD

Mavan:自定义骨架及工程初始化

程序员架构进阶

maven 低代码 9月日更 9月月更

如何不编写 YAML 管理 Kubernetes 应用?

北京好雨科技有限公司

设计模式的艺术 第二十五章模板方法设计模式练习(用模板方法模式开发一个数据库操作模块,用户只需将SQL语句作为参数传入模板方法,则可实现连接数据库、打开数据库、操作数据库(查询或更新)、关闭数据库等操作)

代廉洁

设计模式的艺术

「知识点」曾经忽略的arguments

叶一一

JavaScript 前端 9月月更

5 个 JavaScript 写法小技巧分享

掘金安东尼

JavaScript 9月月更

你真的理解C语言中的 “ 数组 ” 吗?(初阶篇)

Albert Edison

数组 C语言 开发语言 二维数组 9月月更

Alibaba内传(2022更新版《面试速成手册》)流出,熬夜看到176页,YYDS!

程序知音

Java 阿里 程序员面试 后端技术 Java面试八股文

mysql进阶

楠羽

MySQL 笔记 9月月更

leetcode 148. Sort List 排序链表(中等)

okokabcd

LeetCode 算法与数据结构

神级编程网站,堪称程序员的充电站,我给你找好了不能错过

C语言与CPP编程

编程 程序员 网站 计算机 编程语言‘

从改善设计的角度理解TDD (2)

Bright

敏捷 TDD

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