写点什么

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

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

关注

评论

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

中国自动驾驶发展加速,已实现多场景落地应用

数据堂

自动驾驶的必要技术和等级

数据堂

Kubernetes集群授权管理

穿过生命散发芬芳

Kubernetes 6 月 优质更文活动

Django笔记四十四之Nginx+uWSGI部署Django以及负载均衡操作

Hunter熊

Python nginx django 负载均衡 uwsgi

CC2530+ESP8266与手机APP通信

DS小龙哥

6 月 优质更文活动

java中synchronized和ReentrantLock的加锁和解锁能在不同线程吗?如果能,如何实现?

福大大架构师每日一题

Java Go 福大大架构师每日一题

沙利文发布《2023中国数据管理解决方案市场报告》,腾讯云位列领导者梯队

说山水

企业OA上云靠谱最重要,多年业务推进为何华为云成为我的首选?

平平无奇爱好科技

学习 SSL/TLS ,这一篇就够了

火山引擎边缘云

TLS 证书 SSL证书

把金融航母开进智能峡湾,总共分几步?

脑极体

华为 AI 金融

英特尔研究院发布全新AI扩散模型,可根据文本提示生成360度全景图

E科讯

Nautilus Chain:模块化Layer3的先行者

西柚子

理论+实践:从原型链到继承模式,掌握 Object 的精髓(二)

Immerse

2023-06-21:redis中什么是BigKey?该如何解决?

福大大架构师每日一题

redis 福大大架构师每日一题

聊一聊“会员制”

鲸品堂

会员中心 付费会员 企业号 6 月 PK 榜

基于 Flink CDC 构建 MySQL 到 Databend 的 实时数据同步

Databend

AI血洗时尚圈!就连这些线上店家都开始用AI生成爆款商品了

Openlab_cosmoplat

人工智能 AI

敏捷项目管理工具大全

顿顿顿

敏捷项目管理 敏捷工具 scrum工具

自动驾驶发展依旧处于初步阶段

数据堂

大规模 AI 高性能网络的设计与实践

Baidu AICLOUD

大模型训练 RDMA

架构实战营-模块1作业

link

复旦大学高校专区入驻飞桨AI Studio,优质教育资源等你来学!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨

Nautilus Chain:模块化Layer3的先行者

BlockChain先知

OpenHarmony自定义组件

坚果

OpenHarmony 6 月 优质更文活动

火山引擎Dataleap数据质量解决方案和最佳实践(一):数据质量挑战

字节跳动数据平台

数据治理 数据开发 数据质量 数据研发

HAG宣布在INX平台进行STO发行

股市老人

Nautilus Chain:模块化Layer3的先行者

股市老人

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