10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

微软开源.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:345474
用户头像

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

关注

评论

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

都想成为架构师,那架构师需要掌握哪些知识体系呢?

基于TiDB Binlog架构的主备集群部署及数据同步操作手册

TiDB 社区干货传送门

管理与运维

你的收藏不能少的Spring笔记,阿里十年架构师手写Spring笔记

小小怪下士

Java spring 程序员

理性探讨AIGC未来的发展方向

加入高科技仿生人

人工智能 低代码 AIGC

喜报:旺链科技成为龙芯生态重要合作伙伴

旺链科技

区块链 生态合作

熹微~~~基于Vue开发的昏暗风格的响应式网页!

京茶吉鹿

前端 项目 vue cli

审计录像是什么意思?堡垒机有审计录像功能吗?

行云管家

堡垒机 审计 审计日志 审计录像

Java:如何在PowerPoint幻灯片中创建散点图

在下毛毛雨

图表 PowerPoint java‘

软件测试/测试开发丨Web自动化总卡在文件上传和弹框处理上?

测试人

软件测试 自动化测试 测试开发 selenium

Redis缓存穿透/击穿/雪崩以及数据一致性的解决方案

Java 缓存 穿透 击穿 雪崩

软件测试/测试开发丨4步,用 Docker搭建测试用例平台 TestLink

测试人

Docker 软件测试 自动化测试 测试开发 testlink

一次偶然机会发现的MySQL“负优化”

Java MySQL 数据库 性能优化

TiDB Operator常见问题和解决步骤(一)

TiDB 社区干货传送门

实践案例 集群管理 管理与运维 故障排查/诊断

TiDB 数据库大版本升级-基于TiCDC异机升级

TiDB 社区干货传送门

迁移 版本升级

TiDB × 阿里云试用体验(随迟但到)

TiDB 社区干货传送门

版本测评

bytebase让你爱上tidb的开源审核神器。

TiDB 社区干货传送门

6.x 实践

数据丢失不用怕,火山引擎DataLeap 提供排查解决方案

字节跳动数据平台

大数据 数据治理 数据研发 企业号 3 月 PK 榜

ChatGPT也BUG?带你走进ChatGPT背后的网络基础设施

郑州埃文科技

人工智能 ChatGPT

集群3副本丢失2副本-unsafe-recover

TiDB 社区干货传送门

实践案例 管理与运维 6.x 实践

和细胞一样优雅的 TiDB Region 设计

TiDB 社区干货传送门

TiDB 底层架构

GitHub开源几分钟被下架!神作《Spring Boot实战项目》竟昙花一现

Java 微服务 Spring Boot 框架

GitHub开源2小时Star破10万,阿里Java高并发集合手册终是被公开

Java 高并发 集合框架

〖产品思维训练白宝书 - 认知篇①〗- 产品思维能够为我们带来多大的价值?

哈哥撩编程

产品经理 产品思维

三种Web通信技术之间的差异

郑州埃文科技

网心科技多项边缘计算成果亮相第十届中国网络视听大会

网心科技

TiDB Operator常见问题和解决步骤(二)

TiDB 社区干货传送门

故障排查/诊断

如何通过Java代码在PowerPoint 幻灯片中插入公式

在下毛毛雨

PowerPoint 公式 java‘

阿里云加入“一云多芯”应用创新计划,首批通过金融专有云能力评估

云布道师

混合云

基于TiDB+Flink实现的滑动窗口实时累计指标算法

TiDB 社区干货传送门

应用适配 HTAP 场景实践 大数据场景实践 实时数仓场景实践 OLTP 场景实践

2023年广州堡垒机采购选哪家好?咨询电话多少?

行云管家

等保 堡垒机 等级保护 广州

Mac OS如何显示隐藏文件和文件扩展名

互联网搬砖工作者

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