12 月 19 日,龙芯 .NET 3 发布,对应上游社区版本为 .NET 3.1.7。后续,龙芯将对龙芯 . NET 进行长期维护,并与社区同步。基于 MIPS 架构的龙芯已经开源 .NET Core MIPS64 Port,“我们希望实现龙芯 MIPS Port 的 .NET Core 3.1,然后再升级到上游 dotnet/runtime。”
龙芯 .NET 3 主要性能与支持包括:
- 基于 .NET Core 3.1,支持该版本具备的所有主要功能,包括 GC、AOT 等。
- CoreCLR、CoreFX、ASP.NET Core 等库的测试通过情况与 x64/arm64相当。
- 同时支持龙芯 CPU 家族,包括龙芯 3A4000/3A3000/3A2000 单路多路、龙芯 2K1000等。
- 支持多款操作系统,包括 Loongnix、Debian、UOS、麒麟等。

龙芯 .NET 最早在 2019 年 8 月构建成功,10 月输出第一个 Hello World,并完成虚拟机初始化、部分 JIT 和打印功能。2020 年 5 月 .NET Web 应用启动,6 月 18 日开源了龙芯版本的 CoreCLR,7 月发布早期试用版,12 月推出发布候选版本。
我刚写了一篇博客,供参考:
细谈一下龙芯公司在新闻中说要准备减少软件适配这件事
https://my.oschina.net/jacklondon/blog/5401801
生态的问题,这其实就是后发劣势。
微软手机系统就慢了一点点,
后面又不去搞差异竞争,顶头上,结果一败涂地。
现在是要解决非x86问题吧
其他类似了,主要就是翻译到机器指令这一块,像C#编译到IL, Java编译到byte code这一环节不用动,就搞后面的JIT,让JIT支持自己的指令集。
有些语言编译器是用LLVM编译器,比如CLANG (某种C/C++/Objc编译器), 只要LLVM支持MIPS/龙芯指令集,那后面这一步都省了。
不过龙芯的新指令如果刚出来,LLVM的后端还是需要修改才能支持的。
具体找个LLVM介绍看看LLVM解决了啥问题就知道了