微软发布了其计划中的.NET 11软件开发平台的Preview 2版本,该版本在本地运行时异步处理、Linux和macOS系统的SDK安装包缩小等方面取得了显著进展。
.NET 11 Preview 2于3月10日发布,可从net.microsoft.com下载。Preview 2是继2月10日发布Preview 1之后的版本,正式版预计将在11月发布。
运行时异步处理的重大进展
根据微软介绍,Preview 2在运行时原生异步处理方面取得了重大进展。与编译器生成状态机类不同,运行时本身现在管理异步挂起和恢复操作。这产生了更清晰的堆栈跟踪、更好的调试体验和更低的开销。但运行时异步仍然是预览功能。编译器必须使用MethodImplOptions.Async标记方法,运行时才会将它们视为运行时异步方法。
在运行时方面,JIT编译器现在可以消除常见模式中的边界检查,即索引加常数与长度比较的情况。被证明冗余的检查算术上下文也会被优化掉。
SDK安装包优化
对于SDK,Linux和macOS上的安装包大小通过使用符号链接去重复程序集得到了缩减。重复的.dll和.exe文件通过内容哈希识别,并替换为指向单一副本的符号链接。这影响了压缩包以及.pkg、.deb和.rpm安装程序。
代码分析器在SDK中得到改进,以避免潜在昂贵的日志记录。属性访问、GetType()、GetHashCode()和GetTimestamp()调用不再被标记。默认情况下,诊断现在仅适用于信息级别及以下,因为警告/错误/关键代码路径很少是热点路径。诊断消息现在包括参数被标记的原因,帮助开发人员优先处理哪些警告。
.NET 11库的新功能
在.NET 11库中,TarFile.CreateFromDirectory的重载接受TarEntryFormat参数,提供对归档格式的直接控制。以前,CreateFromDirectory产生Pax归档。新的重载支持所有四种tar格式——Pax、Ustar、GNU和V7——以兼容特定工具和环境。
其他改进功能
.NET 11 Preview 2还包含以下附加改进:
ASP.NET Core的性能改进使Kestrel的HTTP/1.1请求解析器现在使用非抛出代码路径处理格式错误的请求。解析器不再在每次解析失败时抛出BadHttpRequestException,而是返回指示成功、不完整或错误状态的结果结构。在有许多格式错误请求的场景中——如端口扫描、恶意流量或错误配置的客户端——这消除了昂贵的异常处理开销,同时将吞吐量提高了20%到40%。有效请求处理不受影响。
F#语言简化了DIM(默认接口成员)层次结构。此外,F#的预览功能(--langversion:preview)缓存了具有相同参数类型的重复方法调用的重载解析结果。
对于.NET MAUI(多平台应用程序UI)中的地图控件,Location和MapSpan的新TypeConverter实现支持简洁的XAML语法用于地图坐标,消除了冗长的x:Arguments标记的需要。同样在.NET MAUI中,TypedBinding和SourceGeneratedBinding现在快约29%,每个绑定操作的内存分配减少了50%。
Entity Framework(EF)Core支持转换LINQ的MaxByAsync和MinByAsync方法及其同步版本。这些方法允许开发人员找到给定键选择器的最大值或最小值元素,而不仅仅是最大值或最小值本身。
Q&A
Q1:.NET 11 Preview 2的运行时异步处理有什么改进?
A:.NET 11 Preview 2在运行时原生异步处理方面取得重大进展。与编译器生成状态机类不同,运行时本身现在管理异步挂起和恢复操作,这产生了更清晰的堆栈跟踪、更好的调试体验和更低的开销。
Q2:.NET 11 Preview 2如何缩小Linux和macOS的SDK安装包?
A:通过使用符号链接去重复程序集来缩减安装包大小。重复的.dll和.exe文件通过内容哈希识别,并替换为指向单一副本的符号链接。这影响了压缩包以及.pkg、.deb和.rpm安装程序。
Q3:ASP.NET Core在.NET 11 Preview 2中有哪些性能提升?
A:Kestrel的HTTP/1.1请求解析器现在使用非抛出代码路径处理格式错误的请求,不再抛出异常而是返回结果结构。这消除了异常处理开销,在有许多格式错误请求的场景中将吞吐量提高了20%到40%。
好文章,需要你的鼓励
研究人员意外发现,标准MOSFET晶体管可同时模拟神经元和突触行为,形成"神经突触随机存取存储器"(NSRAM)。该技术仅需一至两个晶体管即可实现传统需数十乃至数百个元件才能完成的神经信号处理,且与现有硅基制造工艺完全兼容,良率达100%。未来有望应用于边缘AI及高能效神经形态芯片,长远或可挑战GPU地位。
牛津大学提出PHYSIFORMER,一种扩散变换器模型,通过三维网格顶点轨迹直接在世界坐标空间预测刚性与弹性物体的物理运动,一次性生成全序列轨迹,超越自回归基线。
本文提出一种评估人工智能风险的新方法,借鉴生态学与演化论视角,从理论生态模型中推导出三项风险指标,涵盖种群模型与生态系统模型。研究旨在为AI治理策略提供量化工具,并对分析局限性及政策改进方向进行了深入探讨,为构建更科学的AI风险评估体系提供参考框架。
研究发现主流奖励模型对同等质量答案给出差异悬殊的分数,并提出"奖励聚类"算法通过蒙特卡洛随机失活将连续分数离散化,在不重训模型的前提下有效减少AI训练中的奖励作弊现象。