原文:https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/strings-arrays-and-spans .Net8 .NET8在数据处理领域有了巨大的改进,特别是在有效操作字符串,数组和Span方面。既然我们刚刚谈到了UTF8和IUtf8SpanFormattable,那就从这里开始。 UTF8 如前所述,现在有很多类型实现了IUtf8SpanFormattable。我注意到所有的数值原始类型,DateTime{Offset},和Guid,以及dotnet/runtime84556,System.V...

  bb9QetjAL7YV   2024年03月16日   41   0   0 翻译区

相关视频动态PGO 基准测试设置 在本文中,我包括微基准测试以突出讨论的各个方面。其中大部分基准测试都是使用BenchmarkDotNetv0.13.8实现的,除非另有说明,否则每个基准测试都有一个简单的设置。 要跟随本文,首先确保已安装.NET7和.NET8。对于本文,我使用了.NET8ReleaseCandidate(8.0.0-rc.1.23419.4)。 完成这些先决条件后,在新的基准目录中创建一个新的C项目: dotnetnewconsole-obenchmarkscdbenchmarks 该目录将包含两个文件:benchmarks.csproj(包含有关应用程序应如何构建的信息的项...

  bb9QetjAL7YV   2023年12月31日   18   0   0 .NET

原生AOT 原生AOT在.NET7中发布。它使.NET程序在构建时被编译成一个完全由原生代码组成的自包含可执行文件或库:在执行时不需要JIT来编译任何东西,实际上,编译的程序中没有包含JIT。结果是一个可以有非常小的磁盘占用,小的内存占用,和非常快的启动时间的应用程序。在.NET7中,主要支持的工作负载是控制台应用程序。现在在.NET8中,已经投入了大量的工作来使ASP.NET应用程序在使用原生AOT编译时表现出色,同时也降低了总体成本,无论应用模型如何。 在.NET8中,一个重要的焦点是减小构建应用程序的大小,这个效果非常容易看出来。让我们开始创建一个新的原生AOT控制台应用程序: dotn...

  bb9QetjAL7YV   2023年12月31日   21   0   0 .NET

Exceptions 在.NET6中,ArgumentNullException增加了一个ThrowIfNull方法,我们开始尝试提供“抛出助手”。该方法的目的是简洁地表达正在验证的约束,让系统在未满足约束时抛出一致的异常,同时也优化了成功和99.999%的情况,无需抛出异常。该方法的结构是这样的,执行检查的快速路径被内联,尽可能少的工作在该路径上,然后其他所有的事情都被委托给一个执行实际抛出的方法(JIT不会内联这个抛出方法,因为它会看到该方法的实现总是抛出异常)。 publicstaticvoidThrowIfNull( [NotNull]object?argument, [CallerA...

  bb9QetjAL7YV   2023年12月31日   15   0   0 .NET

Exceptions 在.NET6中,ArgumentNullException增加了一个ThrowIfNull方法,我们开始尝试提供“抛出助手”。该方法的目的是简洁地表达正在验证的约束,让系统在未满足约束时抛出一致的异常,同时也优化了成功和99.999%的情况,无需抛出异常。该方法的结构是这样的,执行检查的快速路径被内联,尽可能少的工作在该路径上,然后其他所有的事情都被委托给一个执行实际抛出的方法(JIT不会内联这个抛出方法,因为它会看到该方法的实现总是抛出异常)。 publicstaticvoidThrowIfNull( [NotNull]object?argument, [CallerA...

  bb9QetjAL7YV   2023年11月19日   25   0   0 .NET

原生AOT 原生AOT在.NET7中发布。它使.NET程序在构建时被编译成一个完全由原生代码组成的自包含可执行文件或库:在执行时不需要JIT来编译任何东西,实际上,编译的程序中没有包含JIT。结果是一个可以有非常小的磁盘占用,小的内存占用,和非常快的启动时间的应用程序。在.NET7中,主要支持的工作负载是控制台应用程序。现在在.NET8中,已经投入了大量的工作来使ASP.NET应用程序在使用原生AOT编译时表现出色,同时也降低了总体成本,无论应用模型如何。 在.NET8中,一个重要的焦点是减小构建应用程序的大小,这个效果非常容易看出来。让我们开始创建一个新的原生AOT控制台应用程序: dotn...

  bb9QetjAL7YV   2023年11月12日   16   0   0 .NET

相关视频动态PGO 基准测试设置 在本文中,我包括微基准测试以突出讨论的各个方面。其中大部分基准测试都是使用BenchmarkDotNetv0.13.8实现的,除非另有说明,否则每个基准测试都有一个简单的设置。 要跟随本文,首先确保已安装.NET7和.NET8。对于本文,我使用了.NET8ReleaseCandidate(8.0.0-rc.1.23419.4)。 完成这些先决条件后,在新的基准目录中创建一个新的C项目: dotnetnewconsole-obenchmarkscdbenchmarks 该目录将包含两个文件:benchmarks.csproj(包含有关应用程序应如何构建的信息的项...

  bb9QetjAL7YV   2023年11月06日   73   0   0 .NET
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~