.NET9发布,DDD框架推出2.0.0版本,全面支持.NET9,并更新了工程模板工具,支持项目创建和构建。
.NET9与Rust的互相调用:首先创建Rust动态库并导出函数,然后在.NET项目中调用该库;接着创建.NET类库并在Rust中调用。最后强调Rust调用.NET需在AOT模式下进行。
引用类型数组的协变允许用子类替代父类,但可能导致运行时异常。例如,Giraffe数组可以存放Giraffe实例,但若存放Turtle实例则会引发异常。CLR在赋值时进行类型检查,增加了性能开销。此问题在.NET9中仍未得到合理解决。
我发布了Winforms的Icon Bank重构版,利用Winforms和.NET9的高级功能。包含MaterialDesign和GoogleMaterial双色图标库,通过IEmbeddedIcons结构加载,支持编程访问。提供IconLabel、IconButton等控件,支持颜色和图标切换。GitHub上有图标浏览器和构建器,方便定位和扩展图标库。未来将分享Winforms自定义控件的现代化方法。
.NET9是一个更完善的STS版本,适应现代化开发需求,增强了人工智能支持和代码布局优化。它还具有逆向工程能力和其他常规应用。然而,它需要改变国内生态位和固有印象。
微软发布了.NET9 PreView6,其中CLR(JIT)的改进之一是代码布局改进,通过重构流程图数据结构消除了代码流程图对BB块顺序的限制,优化后的代码可以根据热点进行排序,提高性能。此外,还有其他优化方面的改进,如ARM64代码生成、循环优化等。
.NET9通过重写异常模型来提高性能。新的实现基于AOT异常处理架构,性能提升了2到4倍。之前的模型基于C++,而新模型基于自引导的C#。文章讨论了旧的异常模型并介绍了新的模型。新模型是AOT和JIT的混合体,使用DispatchEx函数来处理异常。性能优化对于稳定的基础非常重要。
.NET9 AOT编译器ILC更新,使用C#自举代码替代LLVM后端生成目标文件。可通过环境变量开启LLVM后端生成。
.NET9 PreView2发布,重磅功能:RyuJIT增强和Arm64矢量化。RyuJIT增强包括环路优化和减少寄存器置零或赋值。Arm64矢量化利用JIT在Arm64上操作寄存器,提升性能。.NET9 Pre2还扩展了PGO,提高类型检查性能。
微软发布.NET9预览版,关注云原生和人工智能,提供强大支持。包含新特性和项目更新,提高性能、生产力和安全性,为开发者提供更丰富和高效的选择。
完成下面两步后,将自动完成登录并继续当前操作。