当前位置: 首页 > news >正文

北京网页制作网站成都企业网站优化服务

北京网页制作网站,成都企业网站优化服务,旅游景点网页设计代码,下载用的网站怎么做转自#xff1a;hez2010cnblogs.com/hez2010/p/13963803.html前言双十一当天#xff0c;个人觉得非常香#xff0c;并且花了 10 分钟时间就把自己的 4 个 .NET Core 3.1 的项目升级到了 .NET 5#xff0c;堪称无痛。但是#xff0c;.NET 5 中还有一些没有正式公开的隐藏特… 转自hez2010cnblogs.com/hez2010/p/13963803.html前言双十一当天个人觉得非常香并且花了 10 分钟时间就把自己的 4 个 .NET Core 3.1 的项目升级到了 .NET 5堪称无痛。但是.NET 5 中还有一些没有正式公开的隐藏特性那么现在就开始介绍吧。Crossgen 2Crossgen 其实就是众所周知的 ReadyToRun 特性。该功能将你的程序集进行一定程度的 AOT 编译然后在运行时跟踪热路径对一些方法进行带有更多优化的 JIT 编译即分层编译这使得程序集的加载速度大幅提高。但是 .NET 5 其实带了 Crossgen 的下一个版本Crossgen 2。Crossgen 2 的代码几乎是从 CoreRT 继承而来并在此基础上做了很大改进。CoreRT 可以对 .NET 程序集进行完全的原生优化编译编译出来的东西就是完全 native 的和 Go 的体验完全一致。Crossgen 2 则使用了这套方法将你的程序集在支持范围之内进行 Native AOT 编译然后运行时直接加载启动并根据运行情况再使用 JIT 编译器进行进一步的优化是一种混合 AOT 策略。为什么说在支持范围之内呢因为 Native AOT 必然对动态加载和 Emit 等特性不友好但是 Crossgen 2 对于这些地方则直接跳过并且由于是混合 AOT 方案运行时依然存留有 JIT因此这些功能完全不会受到影响。使用使用方法很简单在你发布程序的时候加命令行参数 /p:PublishReadyToRuntrue /p:PublishReadyToRunUseCrossgen2true 即可例如dotnet publish -c Release -r win-x64 /p:PublishReadyToRuntrue /p:PublishReadyToRunUseCrossgen2true注意由于该功能尚未正式发布并且存在一些已知的问题还没有解决因此如果要使用的话建议对发布出的程序做好测试。另外.NET 6 将会用 Crossgen 2 代替现有的 Crossgen 1追求稳定的话可以等到明年再用。栈上替换栈上替换即 On Stack Replacement。这个特性允许在运行时即使一个方法有活跃的栈帧也能直接替换实现。因此对于分层 JIT 功能来说这个特性就允许 JIT 将未经优化的代码直接切换成经过优化的代码即使被切换的方法存在活跃栈帧也没问题。使用这是一个运行时特性需要通过设置两个环境变量来开启bashexport COMPlus_TC_QuickJitForLoops1 export COMPlus_TC_OnStackReplacement1cmdset COMPlus_TC_QuickJitForLoops1 set COMPlus_TC_OnStackReplacement1pwsh$env:COMPlus_TC_QuickJitForLoops 1 $env:COMPlus_TC_OnStackReplacement 1注意当前仅支持 x64且目前处于实验性阶段。更激进的发布裁剪发布裁剪可以在发布时将没有用到的代码裁剪掉使得发布出去的程序体积大幅度减小。但是 .NET 5 默认的裁剪行为是程序集粒度的意味着会保留用到了的程序集哪怕你只用了程序集中的一个方法整个程序集也会被保留下来。但是 .NET 5 提供了一种更为激进的裁剪方式基于方法粒度进行裁剪。开启这个特性之后如果一个程序集只被调用了一个方法那裁剪后将只会保留这一个方法而不是保留整个程序集。使用使用方法很简单只需要发布时附带命令行参数 /p:PublishTrimmedtrue /p:TrimModeLink 即可例如dotnet publish -c Release -r win-x64 /p:PublishTrimmedtrue /p:TrimModeLink如果因为动态加载需要保留一些方法、类型或者程序集的话可以按照如下文章内的方法进行配置https://devblogs.microsoft.com/dotnet/customizing-trimming-in-net-core-5/注意由于这种方法较为激进请确保发布后进行充分的测试以免出现因为动态加载导致运行时找不到方法的问题。实验性运行时.NET 大量的新功能已经转移到专门的实验性运行时仓库进行开发了例如NativeAOT基于 RyuJIT 的完全原生编译NativeAOT-LLVM使用 LLVM 做代码生成的完全原生编译ManagedQuic完全 C# 实现的 QUIC 协议Utf8StringUTF-8 字符串类型JsonCodeGen使用代码生成器的 JSONs390x.NET 在 s390x 架构的移植FreeBSD.NET 在 FreeBSD 系统的移植MIPS64.NET 在 MIPS64 架构的移植RegexSRM基于微软研究院成果 Symbolic Regex Matcher 的正则表达式实现DllImportGenerator用于自动生成 P/Invoke 接口的代码生成器欢迎前往实验仓库中对应分支进行试用和贡献代码https://github.com/dotnet/runtimelab 。另外MIPS64 的移植工作由国内龙芯社区团队完成并将在 .NET 6 并入官方主线相关信息在 https://github.com/gsvm/loongson-dotnet 。总结.NET 5 有很多的没有公开宣布的特性其中很多特性都非常棒虽然没有正式发布的现阶段可能还存在一些问题后期也可能会有较大的改动但是感兴趣的读者不妨提前体验一波。
http://wiki.neutronadmin.com/news/135335/

相关文章:

  • 株洲外贸网站建设WordPress文章过滤
  • 长沙网站托管seo优化公司企业网站wordpress
  • 怎么才能找到想做网站建设的客源农业信息网站建设
  • 网站建设结构设计seo金融术语
  • 乔拓云智能建站平台朋友圈推广
  • 建站资源js 网站简体繁体
  • 红花岗区建设局网站常用的设计软件有哪些
  • 电商网站建设推荐阿里巴巴网站域名
  • 管理系统网站免费下载百度app最新版本
  • 网站空间哪个好品牌建设总结
  • 老鹰主机 建wordpress重庆百度整站优化
  • 做旅游网站的任务成都网站建设网
  • amp 网站开发网站做支付系统
  • 什么叫个人网站软件网站查询域名ip查询
  • 青海网站开发建设wordpress检查元素
  • wordpress 图片站模板互联网设计师leader
  • 千牛商家版网站建设网页小游戏网址
  • 有哪些是外国人做的网站北京专业网站建设公司
  • 天猫建设网站的目的劳务合同免费模板下载
  • 建站必须要域名吗网上教育培训机构
  • 哈尔滨网站建设多少钱搭建个人博客wordpress
  • 实业公司网站模板网络营销网站建设存在问题
  • 长春移动网站建设抖音网站开发
  • 怎么样推广一个网站网上室内设计师培训
  • 孝感58同城网站建设浙江省人才网官方网站建设厅招聘
  • 公司做手机网站建设网页浏览器怎么卸载
  • 网站建设佰金手指科杰二八交互式多媒体网站开发
  • 教育网站模板建设品牌公司网站
  • wordpress+视频站模版邢台专业做网站费用
  • 网站查询域名ip解析益阳网站制作公司