12 pontos por xguru 2021-10-14 | 5 comentários | Compartilhar no WhatsApp
<p>- Teste do método POST com o fluxo API-Gateway → AWS Lambda → DynamoDB <br /> - Testes realizados com 128/256/512/1024/10240MB de memória <br /> - Cold Start <br /> → No geral, Rust é o mais rápido. Apenas em 128MB o Python fica em 1º lugar <br /> → Com exceção de Java e .NET, a maioria é rápida <br /> → Java nem consegue iniciar com 128MB, mas GraalVM consegue <br /> - Warm Start <br /> → Golang e Rust são os vencedores <br /> → .Net também mostra desempenho quase igual ao de Go/Rust, mas isso só é possível após 1k execuções repetidas (depois do JIT) <br /> → GraalVM também mostra desempenho estável semelhante ao do .Net e é um pouco mais lento que Rust/Go. Não funciona bem com a configuração mínima <br /> → Java vem logo atrás de GraalVM. Assim como o .Net, o Java só entrega desempenho após 1~3k repetições <br /> → Python mostra um desempenho bom e estável, mas em 128MB é lento demais <br /> → Ruby mostra desempenho semelhante ao do Python, mas após cerca de 20 minutos (15k repetições) há um pequeno aumento na duração (`duration`) <br /> → Node.js é o runtime mais lento. A duração também é a mais longa <br /> <br /> - Considerando Cold + Warm, Golang e Rust são os vencedores. Sempre mostram resultados rápidos e estáveis <br /> <br /> - Runtimes comparados: NodeJs(14.x), Python(3.9), Go(1.x), Ruby(2.7), .Net(3.1), Java (11), Rust(1.54.0), GraalVM(21.2)<br /> </p>

5 comentários

 
ehlegeth 2021-10-14
<p>Eu dei uma olhada por alto,<br /> mas a configuração Rust, Golang ~~ Python, Ruby não parece muito diferente do que geralmente se espera...<br /> <br /> É um pouco surpreendente que o Java seja lento mesmo sem o custo de subir a VM e mesmo com JIT aplicado.<br /> Eu também achava que o Node.js ficaria rápido depois do JIT, mas o resultado saiu lento.<br /> <br /> Será que isso acontece porque a arquitetura em que o Lambda roda ou a pilha de virtualização são diferentes...?</p>
 
ehlegeth 2021-10-14
<p>Há tantos fatores que podem influenciar testes de desempenho que talvez não seja necessário levar esses resultados tão a sério... hahaha</p>
 
eajrezz 2021-10-14
<p>Será que Go não é o vencedor? haha</p>
 
ehlegeth 2021-10-14
<p>Sim, parece mesmo esse tipo de resultado. <br /> Não usei golang em ambiente de nuvem, mas tenho a impressão de que ele combina perfeitamente com esse tipo de ambiente.</p>
 
codufdl 2021-10-14
<p>Rust é tão atraente. Eu tinha comprado o livro e não estava lendo, mas isso acendeu muito a minha curiosidade haha</p>