ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CoreCLR

2022-01-29 23:33:22  阅读:231  来源: 互联网

标签:代码 CoreCLR JIT clr 时候 CLR


CoreCLR是微软新出的跨平台公共语言运行时,和之前的CLR不同的是前者砍掉了大部分不常用功能,优化了代码,而且不依赖于类似于iis这样的软件,是由线程来进行维护的,程序集领域也是由线程来管理,在吞吐量和运行效率上来说都大大提升。

不过你们也不要担心之前学的CLR会不会没用,白学了,做了无用功,这个你们就放心了,CoreCLR会和CLR的API统一,所以你会了后者,前者也就会了!

从runtime那部分看几乎没有任何区别,进程管理,GC,JIT这些基本上是一样的,只有少数的时候会有不同(主要是针对服务器的特点,把GC,JIT这种进行专门的优化)。代码的话一开始的时候coreclr的branch是从clr的branch fork出去的。现在我门在内部开发的时候有对CLR和coreclr定期进行代码同步。现在core clr可以肯定就是.net runtime的未来,而clr现在存在的目的主要是为了兼容。新的feature大部分都是针对core clr,只有在我们非常确定的情况下才会移植到clr下面。

而在多平台方面确实会有一定的区别。在开发的时候,为了避免重新造轮子这种事情,我们基本上针对linux和OSX重新实现了windows里面一些system api和微软C++的里面的类型,这样可以维持代码大部分时候主体逻辑是一样的,需要对非windows平台编译的时候,添加和屏蔽某些library就可以了。不过有的时候还是要修改一定的代码逻辑,比如stack walking这种事情,如果有兴趣可以去

 

标签:代码,CoreCLR,JIT,clr,时候,CLR
来源: https://www.cnblogs.com/cdaniu/p/15856109.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有