prefácio
. Versão Net8, comparada com. O Net7 mudou muito. Neste artigo, vamos analisar alguns dos tipos de mudanças de desempenho, novos tipos oficialmente recomendados para melhorar o desempenho das aplicações.
Envolvente
1. Sistema.Coleções.Congelado
Os namespaces incluem os tipos de coleção FrozenDictionary< TKey, TValue> e FrozenSet. Uma vez criada uma coleção, esses tipos não permitem alterações em chaves e valores. Esse requisito permite operações de leitura mais rápidas (por exemplo, TryGetValue()). Esses tipos são especialmente úteis para coleções que são povoadas no primeiro uso e depois mantidas para serviço de longo prazo, tais como:
2.System.Buffers.IndexOfAnyValues
O tipo deve ser passado ao método de encontrar a primeira correspondência de qualquer valor na coleção passada. Por exemplo, String.IndexOfAny(Char[]) procura a primeira correspondência de qualquer caractere no array especificado na string que o chama. NET 8 adiciona novas sobrecargas de métodos, como String.IndexOfAny e MemoryExtensions.IndexOfAny, que aceitam novas instâncias de tipos. Quando você cria uma instância de System.Buffers.IndexOfAnyValues, todos os dados necessários para otimizar buscas subsequentes serão derivados nesse momento, o que significa que o trabalho é feito antecipadamente.
3.System.Text.CompositeFormat
Tipos podem ser usados para otimizar strings de formatar que são desconhecidas em tempo de compilação (por exemplo, strings de formato são carregadas a partir de arquivos de recursos). Leva um tempo extra no início para fazer coisas como analisar as strings, mas isso economiza o trabalho feito toda vez que você usa.
4.System.Buffers.IndexOfAnyValues
O tipo deve ser passado ao método de encontrar a primeira correspondência de qualquer valor na coleção passada. Por exemplo, String.IndexOfAny(Char[]) procura a primeira correspondência de qualquer caractere no array especificado na string que o chama. NET 8 adiciona novas sobrecargas de métodos, como String.IndexOfAny e MemoryExtensions.IndexOfAny, que aceitam novas instâncias de tipos. Quando você cria uma instância de System.Buffers.IndexOfAnyValues, todos os dados necessários para otimizar buscas subsequentes serão derivados nesse momento, o que significa que o trabalho é feito antecipadamente.
5.System.Text.CompositeFormat
Tipos podem ser usados para otimizar strings de formatar que são desconhecidas em tempo de compilação (por exemplo, strings de formato são carregadas a partir de arquivos de recursos). Leva um tempo extra no início para fazer coisas como analisar as strings, mas isso economiza o trabalho feito toda vez que você usa.
6. System.Numerics e System.Runtime.Intrinsics
Melhorias nos namespaces System.Numerics e System.Runtime.Intrinsics. Vector256, Matrix3x2 e Matrix4x4 melhoram a aceleração de hardware no .NET 8. Por exemplo, o Vector256 reimplementou 2xVector128 sempre que possível. Os internos do hardware agora anotam usando a propriedade ConstExpected. Isso garante que os usuários saibam quando o hardware subjacente precisa de constantes e quando valores extraordinários podem prejudicar acidentalmente o desempenho.
Referência:O login do hiperlink está visível. Original:O login do hiperlink está visível.
|