O .NET 7 já foi lançado e vem com várias melhorias de desempenho

net-7

Com o .NET 7, você pode criar aplicativos multiplataforma em navegador, nuvem, desktop, dispositivos IoT e plataformas móveis

A Microsoft anunciou o lançamento de a nova versão da sua plataforma ".NET 7" que inclui Runtime com o compilador RyuJIT JIT, especificações de API, bibliotecas WPF e outras ferramentas.

Além disso, aplicativos Web ASP.NET Core 7.0, camada ORM Entity Framework Core 7.0, biblioteca WPF 7 (Windows Presentation Foundation), estrutura Windows Forms 7 para desenvolvimento de GUI, plataforma Orleans .

O que há de novo no .NET 7

Nesta nova versão, a biblioteca de classes base (BCL, Base Class Library) foi unificado para uso em vários tipos de aplicações, incluindo programas para sistemas de desktop, aplicativos da web, plataformas de nuvem, aplicativos móveis, jogos, programas incorporados e sistemas de aprendizado de máquina. Você pode usar um SDK comum, runtime e conjunto de bibliotecas para desenvolver diferentes tipos de aplicativos.

Além disso, destaca-se também que forneceu a capacidade de vincular um aplicativo a uma API compatível com a versão .NET 7 por meio de uma definição de estrutura de destino "net7.0", como " net 7.0 ». Para vincular a APIs específicas de plataforma, você pode especificar o tipo de plataforma ao especificar o destino, por exemplo, especificando "net7.0-android".

Também destaca o suporte aprimorado para a arquitetura ARM64 e trabalho contínuo para alcançar paridade de desempenho para aplicativos .NET quando executados em arquiteturas x86 e ARM64. Eficiência de cache L3 aprimorada em tempo de execução em sistemas ARM64. As instruções LSE são usadas para restringir o acesso à memória de threads paralelas, resultando em uma redução de 45% na latência.

A biblioteca adicionou drivers que usam os tipos de vetor Vector64, Vector128 e Vector256, e as funções EncodeToUtf8 e DecodeFromUtf8 foram reescritas com base em instruções vetoriais, o que aumentou seu desempenho em até 60% (para as funções NarrowUtf16ToAscii e GetIndexOfFirstNonAsciiChar, o ganho de desempenho chega a 35%). No geral, as velocidades de aprovação de teste na plataforma ARM64 aumentaram em 10-60%.

Por outro lado, também Aprimoramentos de suporte ao Linux são destacados, incluindo a adição de pacotes com .NET 6 para os repositórios de ações do Ubuntu 22.04 e o fornecimento de uma imagem docker otimizada, compacta e pronta para uso para implantação rápida de contêineres com aplicativos baseados em .NET.

Introduzido o .NET Upgrade Assistant para facilitar a migração de aplicativos mais antigos para filiais .NET 6 ou .NET 7. A nova versão ampliou o suporte para portar aplicativos ASP.NET para ASP.NET Core, adicionando analisadores de código e verificadores para WinForms, WPF e bibliotecas de classe, suporte implementado para executáveis ​​de análise de arquivos, suporte adicional para UWP (Plataforma Universal do Windows).

Interfaces genéricas para funções matemáticas são propostas e é fornecida a possibilidade de definir elementos estáticos em interfaces virtuais, o que permitiu aplicar métodos genéricos de programação para realizar operações matemáticas sem informação exata sobre o tipo de valores.

O desempenho no compilador JIT também foi melhorado, Além de ser adicionado suporte para o mecanismo OSR (On Stack Replacement) para alterar o código dos métodos que já estão em execução, permitindo que você realize otimizações em métodos que demoram muito tempo para serem concluídos sem esperar a conclusão da chamada atual (no teste TechEmpower, há um 10-30 % de aumento no desempenho do processamento das primeiras solicitações em 10-30%).

Do outras mudanças que se destacam:

  • Adicionado suporte para compilar para executáveis ​​autocontidos (AOT nativo), onde todo o projeto é inicialmente compilado para o código da plataforma de destino nativo sem usar código intermediário e sem usar JIT.
  • O .NET SDK implementa a capacidade de restringir o uso de modelos de projeto fornecidos; por exemplo, você pode determinar em quais sistemas operacionais o modelo é válido.
  • O NuGet adicionou um modo de gerenciamento de pacotes centralizado que permite gerenciar dependências para vários projetos de uma só vez.

Finalmente se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir.

Para os interessados, você deve saber que as compilações do .NET SDK 7, .NET Runtime 7 e ASP.NET Core Runtime 7 são criadas para Linux, macOS e Windows. O .NET Desktop Runtime 6 está disponível apenas para Windows.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.