.NET9现代化编程长啥样?

文摘   2024-07-24 11:55   湖北  

点击上方蓝字 江湖评谈设为关注/星标




前言

.NET9作为一个STS版本,其完善度超过了.NET8。由于工作项相关,.NET9每次变动都需要关注其新特性,参与了解其背后的原理和评估。较熟悉版本的差异化所在,本篇简略看下。参考文章如下:

1.NET9 PreView1 发布

2.NET9 PreView2的重磅功能

3.NET9 Pre3 CLR的优化细节

4.NET9 Pre4 UnsafeAccessor泛型

5.NET9 PreView5张量和AI算力

6.NET9 PreView6 RyuJIT代码布局改进(HIR)

现代化的.NET

.NET9是最新的版本,从PreView1到如今的PreView6进行大范围的更新,以便于适应现代化的开发需求。

比如PreView3进行了泛型运行时内联共享,修改了CLR的异常处理。PreView4新增了UnsafeAccessor泛型,PreView6进行了硬件代码内部改进和代码布局优化等等。

而这里面最引人瞩目的即是.NET9 PreView5里面增强了对于人工智能的支持,多维数组的扩展(意即:张量。它是人工智能 (AI) 的基石数据结构)。

总结下如今现代化.NET能进行如下处理:

1.人工智能:内置张量计算,能够高效处理神经网络,权重信息,中间计算,广泛应用于图像,视频音频,文本序列,编码数据等。

2.代码布局:老式代码(.NET8 Before)的内存顺序某些方面考虑不周,导致了性能的瓶颈。新版本则是进行了重新布局(主要是BB和IR/HR方向),其中精确到bit深层次的内存控制,丝滑的展现了什么叫做极致的性能优化。关于这点,本公众号(jianghupt)有很多表述,可以参考之前的文章。

3.逆向工程:逆向的水平,体现了一个程序员的基础性,计算机底层技术功力深厚度。.NET9运行时的复杂度和规模度,上可玩OOP级别的托管代码,下可玩原生0和1的强力操控(最近利用底层技术,逆向了一个经常玩的游戏梦三国2,感兴趣的小伙伴可以B站搜索:江湖评谈。即可看到逆向hook到角色的永生不灭的效果)。

4.其它方面,比如云原生,游戏,工控,web等等常规应用这里不再赘述,之前既有。

版本的缺点

上面提了优点,自然也要提下缺点,兼听则明嘛。.NET6/7/8这三个版本有一个持久性的漏洞,可以提权你的计算机进行后台攻击。而.NET9则没有,另国内的生态位急需恢复,以及.NET固有印象需要改变。杂音较多,比如不跨平台/只能运行在windows下等等,依然需要改变。

往期精彩回顾

.NET9 PreView6 RyuJIT代码布局改进(HIR)

.NET9 GC标记原理(超核技术)


江湖评谈
记录,分享,自由。
 最新文章