logo
Contato | Sobre...        
rebarba rebarba

Rodrigo Strauss :: Blog

follow us in feedly

Mais um benchmark interessante

A Microsoft apresenta no site do Visual C++ um benchmark interessante. A proposta é verificar a performance de um backend para o mercado financeiro (uma bolsa asiática), baseado em Visual C++, MSMQ e SQL Server. Lá eles descrevem de forma acadêmica diversos fatores que foram levados em conta, desde configuração de discos, até servidores SQL federados com chaves em hash para diminuir a concorrência e o gargalo do banco.

O artigo apresenta boas dicas sobre performance para aplicações críticas e sobre metodologias para medição disso. Performance é algo complicado de medir, porque além de ser um conceito relativo, existem diversos fatores obscuros que podem distorcer um estudo - desde um design de uso de memória que aproveite o fator localidade para facilitar o trabalho do cache do processador, até a configuração do arquivo de paginação do Windows. Como Raymond Chen já explicou, otimização de performance não é algo tão óbvio quanto parece.

No final do artigo, o autor diz que a equipe reimplementou o aplicativo em C# para fazer uma comparação de performance de processamento de mensagens entre código gerenciado e não gerenciado. Esse é um dos primeiro benchmarks que eu vejo que serve de alguma coisa. Eu já escrevi aqui algumas dezenas de vezes que comparar duas linguagens testando um algortitmo simples em loop não leva a conclusão nenhuma. O que funciona é isso, pegar uma aplicação crítica e implementar em duas linguagens. Primeiro o autor apresenta o seguinte gráfico de comparação (maior é melhor):

E depois faz umas considerações muito interessantes sobre como essa diferença absurda entre as duas linguagens deve ser interpretada. Ele cita um fato interessante que eu já citei aqui: de que a alocação de memória em ambientes gerenciados é eficiente e tão rápido quanto C++ (o que compensa um pouco a desalocação mais lenta feita pelo GC). Além disso eles explicam que, como eu também já disse, a medida que a tecnologia da VM .NET for evoluindo a implementação em C# se tornará mais rápida e eficiente. Só que, como eu também já disse, eu vivo no presente e não no futuro. :-)


Em 22/02/2005 13:59, por Rodrigo Strauss


  
 
 
Comentários
Algo a dizer?
Nome:


Site:


E-mail:


Escreva o número vinte e seis:


 Não mostre meu e-mail no site, não serve pra nada mesmo...

Comentário





Os comentários devem ser sobre assuntos relativos ao post, eu provavelmente apagarei comentários totalmente offtopic. Se quiser me enviar uma mensagem, use o formulário de contato. E não esqueça: isso é um site pessoal e eu me reservo o direito de apagar qualquer comentário ofensivo ou inapropriado.
rebarba rebarba
  ::::