写点什么

微软开源.NET Core 的执行引擎 CoreCLR

  • 2015-02-05
  • 本文字数:1085 字

    阅读完需:约 4 分钟

继去年 12 月宣布.NET Core 开源之后,微软拥抱开源的决心又向前迈了一步,Microsoft 于昨日在 .NET Framework Blog 上 宣布开源.NET Core 的执行引擎 CoreCLR ,同时该项目将继续托管在 Github 上。

CoreCLR 是.NET Core 的执行引擎,负责垃圾收集、机器码编译等方面的工作,此次开源的是CoreCLR 最新、最完整的代码实现,包含RyuJIT、.NET GC、本地互操作以及很多其他的.NET 运行时组件。Microsoft 表示,.NET Core 目前能够构建并运行在Windows 平台上,在未来的几个月内会增加Linux 和Mac 平台的支持。

从大小上看,CoreCLR 库大约有260 万行的代码,其中JIT 的代码大约有32 万行,GC 的代码大约有5.5 万行,而之前发布的 CoreFX 库大约有 50 万行代码,只占该库最终大小的 25%,如果.NET Core 完全开源,那么总共大约会有 500 万行代码。不同的是,CoreFX 全部是 C#代码,而 CoreCLR 包含大量的 C#和 C++ 代码,要构建这些代码需要多个工具集,而有些工具 Visual Studio 并没有提供,如果你想构建 CoreCLR,那么可以查看 CoreCLR 开发指南

CoreCLR 的开源在社区上引发了广泛的讨论, HackerNews 上的 JeremyMorgan 评论说:

“是好是坏取决于你如何看待这件事情,虽然在盖茨时代之后 Microsoft 对开发者一直都很好,但是与之前相比最大的不同也仅仅是人们不需要再付费了而已,因为这之前只有相关的付费用户才能得到良好的服务。”

对此 klibertp 则发表了不同的观点:

“这不仅仅是一个财务问题。Microsoft 开源自己的类库对开发者而言好处非常多,因为现在他们能够查看自己日常使用的类库的源码,这使得调试更加容易,同时也能够帮助开发者理解当他们调用某些函数的时候其内部到底做了什么。十年之前我离开了 Microsoft 阵营,那时候我非常愿意付费查看相关 Microsoft 工具的源码,但是却找不到门路,现在 Microsoft 提供了相关的源码,并且是开源的,这非常好,也非常重要。”

brudgers 在评论中写道:

“我认为开源非常伟大,我非常钦佩 Stallman(自由软件之父),因为他广阔的胸襟。但是我并不认为 Windows 闭源有问题,因为 Windows 能够通过 Microsoft 商业模式的优势非常有效地解决一组特定的问题,但是无论如何开源的选择是好的。”

最后,Microsoft 表示自己在开源和跨平台的.NET 计划上依然有很多事情要做,具体内容或许会在今年将会举行的.NET Conf 上透露,该虚拟网络会议的召开时间为2015 年的3 月18 日和19 日。


感谢郭蕾对本文的审校。

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

2015-02-05 00:345351
用户头像

发布了 321 篇内容, 共 126.6 次阅读, 收获喜欢 19 次。

关注

评论

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

2023华为伙伴大会:ISDP发布伙伴体验中心,邀伙伴探索数智化未来

科技怪授

Nautilus Chain上线主网,为DeFi和流支付的未来构建基础

西柚子

Office 2021和 Office 365 有什么不同之处?office 2021 和 365 区别是什么

Rose

Office 365 Office 2021 office下载

AE模板:短信消息聊天对话气泡动画Smart Text Message

Rose

AE模板下载 Smart Text Message 对话框气泡生生成器插件

非常全面的 SpringBoot 保姆级笔记,面面俱到,太牛了

Java spring 微服务 Spring Boot 框架

软件测试/测试开发丨Web自动化 PageObject 设计模式

测试人

程序员 软件测试 自动化测试 测试开发 Web自动化测试

Python潮流周刊#3:PyPI 的安全问题

Python猫

Python 编程 rust 安全

2023-05-27:给你一个只包含小写英文字母的字符串 s 。 每一次 操作 ,你可以选择 s 中两个 相邻 的字符,并将它们交换。 请你返回将 s 变成回文串的 最少操作次数 。 注意 ,输入数据

福大大架构师每日一题

Go 算法 rust 福大大

文心一言 VS 讯飞星火 VS chatgpt (23)-- 算法导论4.2 5题

福大大架构师每日一题

福大大 文心一言 讯飞星火

Parallels Desktop如何退出账号?PD18虚拟机退出账号方法

Rose

pd18虚拟机 PD如何退出账号 Parallels Desktop下载 Parallels破解版 Mac虚拟机下载

爆肝了!阿里最新版的这份Spring Security源码手册,狂揽GitHub榜首

Java spring spring security Spring Security OAuth

低代码的“钱景”——专业的事交给专业的人来做

引迈信息

低代码 JNPF

CMake构建指南:如何提高C/C++项目的可维护性

小万哥

Linux 程序员 C/C++ 后端开发 cmake

iOS MachineLearning 系列(19)—— 分析文本中的问题答案

珲少

DR5白金版 for mac(PS一键磨皮插件Delicious Retouch)支持ps2022 v5.0汉化版

Rose

DR5白金版 PS一键磨皮插件 dr5插件 汉化版PS插件 dr5插件教程

国外顶级架构师编写2580页DDD领域驱动设计笔记,看到内容后破防了

Java 架构 领域驱动设计 DDD

基于Redis讲解,学懂缓存雪崩,缓存击穿,缓存穿透

Java redis 缓存穿透 缓存击穿 缓存雪崩

阿里“妈宝级”之作,Kubernetes原理剖析与实战应用手册,太全了

Java Kubernetes k8s

C语言编程—数组

芯动大师

Maven Cannot resolve plugin org.apache.maven.plugins

Andy

photoshop神经滤镜是什么,神经滤镜功能揭秘~

Rose

photoshop神经滤镜 Neural Filters插件 ps滤镜下载 PS2023破解

工厂+策略在springboot项目中的使用场景

Java Spring Boot 工厂模式 策略模式

简直人生外挂,直接涨薪25K,跪谢这份Java性能调优实战宝典

Java 性能优化 性能调优

模板一作业

家有两宝

#架构训练营

Nautilus Chain上线主网,为DeFi和流支付的未来构建基础

鳄鱼视界

Nautilus Chain上线主网,为DeFi和流支付的未来构建基础

股市老人

深度学习进阶篇-预训练模型[4]:RoBERTa、SpanBERT、KBERT、ALBERT、ELECTRA算法原理模型结构应用场景区别等详解

汀丶人工智能

自然语言处理 深度学习 预训练模型 Transformer BERT

使用Go语言实现门面模式:简化复杂子系统的访问

Jack

Java面试集锦

源字节1号

微信小程序 开源 软件开发 后端开发

华为ISDP:从ChatGPT说起,企业作业数字化转型需要怎样的平台工具?

科技怪授

微软开源.NET Core的执行引擎CoreCLR_.NET_孙镜涛_InfoQ精选文章