Blazor e ASP .NET Core - Mais rápidos com .NET 5


Com o advento do .NET 5.0 houve muitas melhorias principalmente quanto ao desempenho. Aplicações Blazor e ASP .NET Core agora estão mais rápidas.
(transcrito e adaptado do original em : https://visualstudiomagazine.com/articles/2020/11/12/blazor-speed.aspx)

Uma das melhorias que o .NET 5.0 trouxe para toda a plataforma .NET foi o desempenho.

Ao observar as atualizações para o desenvolvimento Web no lançamento do .NET 5, uma coisa se destaca: a velocidade.

"A ASP.NET Core com o .NET 5 é o framework web .NET mais rápido que já lançamos!"
disse a Microsoft esta semana ao destacar as melhorias no componente de desenvolvimento web para a plataforma .NET com o .NET 5.

A ASP.NET Core é  o sucessor multiplataforma de código aberto da ASP.NET (do antigo .NET Framework), também é onde o Blazor mora, fornecendo uma opção C# para desenvolvimento web de Single Page Applications.

Ele permite o desenvolvimento da Web full stack por meio de dois componentes: Blazor WebAssembly para o lado do cliente e Blazor Server para o lado do servidor. O projeto tem atraído muita atenção no ecossistema .NET e tem obtido aumentos de desempenho constantes.

"Para .NET 5, fizemos melhorias significativas no desempenho runtime do Blazor WebAssembly com um foco específico na renderização complexa da interface do usuário e serialização JSON", disse a Microsoft nas notas de lançamento do .NET 5. "Em nossos testes de desempenho, o Blazor WebAssembly no .NET 5 é duas a três vezes mais rápido para a maioria dos cenários. "

A Microsoft explicou que a equipe melhorou a execução do código do runtime no Blazor WebAssembly no .NET 5 em relação à versão 3.2 com otimizações das bibliotecas de estrutura principais e melhorias no interpretador .NET IL. Junto com a manipulação de JSON, isso acelera coisas como comparações de string e pesquisas em dicionários.

A figura a seguir compara as versões 3.2.0 e 5.0 do Blazor WebAssembly destacando o ganho de desempenho:

E essas melhorias na velocidade do Blazor foram feitas sem a compilação antecipada (AOT), um recurso muito solicitado que não chegou ainda com o .NET 5 e agora está voltado para o .NET 6 em novembro de 2021.

"O .NET 5 contém grandes melhorias de desempenho no runtime e nas bibliotecas e para os componentes gRPC", disse a Microsoft em uma postagem de 10 de novembro. "Essas melhorias, quando aplicadas ao ASP.NET Core, resultam em algumas vitórias significativas na taxa de transferência (RPS) e latência."

Abaixo vemos uma tabela comparando o desempenho das versões 3.1 e 5.0 da ASP .NET Core:

Os dados acima vêm dos benchmarks TechEmpower para ASP.NET Core com .NET Core 3.1 e dos resultados mais recentes para ASP.NET Core com o .NET 5. Os testes de 'plataforma' representam implementações de benchmark altamente otimizadas, disse a Microsoft.

E, como foi mencionado, um desempenho ainda mais rápido é esperado no próximo ano com o .NET 6. Como Daniel Roth da Microsoft disse : "Você pode esperar um trabalho contínuo para melhorar o desempenho do Blazor WebAssembly."

Além de otimizar o runtime e estrutura do Blazor WebAssembly, a equipe .NET está também trabalhando com implementadores de navegador para acelerar ainda mais a execução do WebAssembly.

E para o .NET 6, esperamos enviar suporte para compilação antecipada (AoT) para WebAssembly, o que deve melhorar ainda mais o desempenho. "

Diante desse quadro só nos resta dizer : Bem-vindo .NET 5.0.

"Não se turbe o vosso coração; credes em Deus, crede também em mim.
Na casa de meu Pai há muitas moradas; se não fosse assim, eu vo-lo teria dito. Vou preparar-vos lugar."

João 14:1,2

Referências:


José Carlos Macoratti