BT

Comparando o desempenho entre WCF e ASP.NET Core

| por Jeff Martin Seguir 17 Seguidores , traduzido por Gibran Silva Seguir 0 Seguidores em 20 jun 2018. Tempo estimado de leitura: 1 minuto |

A Microsoft investiu muito tempo e energia no desenvolvimento do ASP.NET Core. O resultado é uma plataforma aberta em que os novos recursos se beneficiam do envolvimento aberto com uma comunidade de desenvolvedores mais ampla. É de se esperar que o ASP.NET Core tenha um desempenho melhor do que as tecnologias mais antigas, como o Windows Communication Foundation (WCF). Recentemente, descobriu-se que talvez esse não seja o caso.

O desenvolvedor Erik Heemskerk publicou recentemente um artigo descrevendo sua investigação sobre o desempenho do ASP.NET Core em relação ao WCF. Em seu experimento, foi escrito um projeto simples que usava cada tecnologia para "levantar um servidor web localmente e medir quanto tempo leva para criar uma solicitação, enviá-la, desserializá-la, gerar uma resposta, enviá-la de volta e desserializar a resposta".

Para sua surpresa, o WCF foi aproximadamente 1/3 mais rápido do que o projeto equivalente em ASP.NET Core, quando o payload é um GUID simples. Percebendo que a diferença pode ser devido ao WCF ser serializado para XML enquanto o ASP.NET Core está usando JSON, Heemskerk forçou o ASP.NET Core a serializar para XML. Isso resultou em uma melhoria, mas o WCF permaneceu muito mais rápido. Para tentar uma abordagem diferente, Heemskerk aumentou a carga para um tamanho de objeto mais realista e usou o MessagePack com o ASP.NET Core. Aqui, finalmente, o ASP.NET foi um pouco mais rápido que o WCF.

Mas a história não termina aí. O desenvolvedor Josh Bartley examinou o trabalho de Heemskerk e viu que outras mudanças poderiam ser feitas para melhorar os resultados do ASP.NET. Sua análise indicou que talvez o benchmarking para ASP.NET não estivesse incluindo exatamente o mesmo trabalho quando comparado ao trabalho do código WCF.

Portanto, o ASP.NET Core não é um retrocesso no desempenho. Se o desempenho inicial não atender às expectativas, algumas análises poderão ser necessárias para melhorá-lo. A maior lição ao tentar melhorar o desempenho é garantir que a área certa seja selecionada para o benchmarking, de modo que as partes certas do código sejam melhoradas.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT