其他分享
首页 > 其他分享> > CoreCLR

CoreCLR

作者:互联网

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