快手、孩子王、华为等专家分享大模型在电商运营、母婴消费、翻译等行业场景的实际应用 了解详情
写点什么

微软引入 LLILC,基于 LLVM 的.NET/CoreCLR 编译器

  • 2015-05-20
  • 本文字数:723 字

    阅读完需:约 2 分钟

.NET 基金会宣布了名为 LLILC (发音为“lilac”)的新项目的发布。该项目最初由微软贡献,致力于为.NET 核心(Core)提供新的基于 LLVM 的原生代码编译器,从而使“在任何 CoreCLR 能够移植的以及 LLVM 会支持的平台上”运行.NET 程序成为可能。

微软开发基于 LLVM 的代码生成器所采用的方法,是基于现有的CIL 阅读器,“与生产环境中的阅读器( RyuJIT )一样直接针对同样的通用 JIT 接口进行操作”。该方法被认为优于从现有的以 LLVM BitCode 为目标的开源项目着手,比如 SharpLang LLVMSharp ,从而能够更好地支持新的 CoreCLR 接口。

当前,LLILC 集中精力于提供 JIT 编译器,不过这还尚未完成。在 Windows 上,LLILC 现在能够编译 CoreCLR 中一半的测试,“其余仍然要依靠RyuJIT”。随着在Linux 和OS X 上的.NET 核心的成熟度的提高,LLILC 团队计划也为这些平台提供与Windows 的实现质量相近的LLILC 实现。

在LLILC 的路线图上的下一个目标是安装时(install-time)JIT 编译器,这应当“允许生成的代码可以在应用程序的多次调用间共享,或者在共享一组程序集(assembly)的多个进程间共享”。最后,LLILC 项目还将考虑提前(ahead-of-time)编译器的实现。

.NET 基金会是微软在2014 Build 大会上成立的,作为“所有微软已经开源的,以及将来会在开源协议(很可能是Apache 2.0)下发布的所有.NET 各部分的保护伞”。

查看英文原文: Microsoft Introduces LLILC, LLVM-based .NET/CoreCLR Compiler


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-05-20 09:193342

评论

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

Day308

爱好编程进阶

Java 程序员 后端开发

Docker:第二章:部署项目

爱好编程进阶

Java 程序员 后端开发

我是如何做到百万数据跑批半小时结束

skow

后端 java

跨端跨框架 UI 自动化测试方案 Flybirds

liang chen

GC:你要用什么方式把我丢掉?

爱好编程进阶

Java 程序员 后端开发

GitHub上最牛逼的Java教程,标星yyds:算法

爱好编程进阶

Java 程序员 后端开发

Swoole 定时器能实现毫秒级任务调度,你敢相信吗?

CRMEB

Dropzone

爱好编程进阶

Java 程序员 后端开发

Github上都在疯找的阿里内部“全栈技能修炼”终于来了

爱好编程进阶

Java 程序员 后端开发

TASKCTL分布式任务调度平台-流程控制原理

敏捷调度TASKCTL

程序员 DevOps 分布式 大数据运维 TASKCTL

Hadoop 3

爱好编程进阶

Java 程序员 后端开发

直播预告丨Hello HarmonyOS进阶课程第二课——计算机视觉

HarmonyOS开发者

HarmonyOS 图形图像 视觉开发

时序数据库为万物互联打下坚实的基石

华为云开发者联盟

数据仓库 物联网 时序数据库 GaussDB 时序数据

数据增强(一):imgaug

AIWeker

人工智能 深度学习 数据增强 5月月更

秒云助力上海金融信息技术应用创新联合攻关基地正式上线信创容器云平台

MIAOYUN

云原生 信创 智能运维 一云多芯解决方案

ICT架构体系详细说明【3】

爱好编程进阶

程序员 后端开发

大数据培训HBase读写性能优化的详解

@零度

大数据 HBase

案例分享|一键式自动监测,跨境电商平台的业务转型模板

博睿数据

博睿数据 数据链DNA

十年磨一剑|沃趣数据库云产品战略首发

沃趣科技

云原生 公有云 私有云 数据库云 沃趣科技

Dubbo的超时和重试

爱好编程进阶

Java 程序员 后端开发

Flink与Spark Streaming在与kafka结合的区别!

爱好编程进阶

Java 程序员 后端开发

JAVA为什么需要注解?

源字节1号

如何开发 LAXCUS 分布式应用软件(二):基本构成

LAXCUS分布式操作系统

集群架构 并行计算 分布式操作系统 分布式应用

Github标星28K+,这款可视化的对象存储服务真香

爱好编程进阶

Java 程序员 后端开发

GitHub成功收获87

爱好编程进阶

Java 程序员 后端开发

Hadoop05【命令操作】

爱好编程进阶

Java 程序员 后端开发

火山引擎入选“2022 中国边缘计算20强”榜单

火山引擎边缘云

边缘计算

Byte和bit

爱好编程进阶

Java 程序员 后端开发

C++std命名空间和头文件详解

爱好编程进阶

Java 程序员 后端开发

CGBTN2110-DAY07总结复习

爱好编程进阶

Java 程序员 后端开发

七大章节解读「中台」的前世今生

菜根老谭

中台 中台架构

微软引入LLILC,基于LLVM的.NET/CoreCLR编译器_.NET_Sergio De Simone_InfoQ精选文章