12 points par xguru 2021-10-14 | 5 commentaires | Partager sur WhatsApp
<p>- Test de la méthode POST avec le flux API-Gateway → AWS Lambda → DynamoDB <br /> - Tests effectués avec 128/256/512/1024/10240MB de mémoire<br /> - Cold Start <br /> → Globalement, Rust est le plus rapide. À 128Mb uniquement, Python arrive en tête<br /> → À l’exception de Java et .NET, la plupart sont rapides <br /> → Java ne peut même pas démarrer avec 128Mb, mais GraalVM le peut <br /> - Warm Start <br /> → Golang et Rust sont les gagnants<br /> → .Net affiche lui aussi des performances presque équivalentes à Go/Rust, mais seulement après 1k exécutions répétées (après le JIT)<br /> → GraalVM montre également des performances stables, similaires à .Net, et légèrement plus lentes que Rust/Go. Il ne fonctionne pas bien avec une configuration minimale<br /> → Java arrive juste derrière GraalVM. Lui aussi, comme .Net, n’atteint ses performances qu’après 1~3k répétitions<br /> → Python affiche des performances bonnes et stables, mais il est trop lent avec 128MB <br /> → Ruby offre des performances similaires à Python, mais après environ 20 minutes (15k répétitions), on observe une légère hausse de la durée d’exécution (`duration`) <br /> → Node.js est le runtime le plus lent. Sa durée d’exécution est aussi la plus longue<br /> <br /> - En combinant Cold + Warm, Golang et Rust sont les gagnants. Ils montrent toujours des résultats rapides et stables <br /> <br /> - Runtimes comparés : 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 commentaires

 
ehlegeth 2021-10-14
<p>Je l’ai parcouru rapidement,<br /> mais la hiérarchie Rust, Golang ~~ Python, Ruby ne semble pas vraiment différente de ce qu’on attend généralement...<br /> <br /> Le fait que Java soit lent, alors qu’il n’a pas le coût de démarrage de la VM et même avec l’application du JIT, est un peu surprenant.<br /> Je pensais aussi que Node.js serait rapide après le JIT, mais les résultats sont lents.<br /> <br /> Peut-être que cela vient de différences dans l’architecture sur laquelle Lambda fonctionne ou dans la stack de virtualisation...</p>
 
ehlegeth 2021-10-14
<p>Il y a tellement de facteurs qui peuvent influencer les tests de performance qu’il ne faut peut-être pas non plus prendre ces résultats trop au sérieux... haha</p>
 
eajrezz 2021-10-14
<p>Le gagnant, ce ne serait pas golang ? Haha</p>
 
ehlegeth 2021-10-14
<p>Oui, on dirait bien que c’est le résultat. <br /> Je n’ai pas encore utilisé golang dans un environnement cloud, mais j’ai l’impression que ça correspond parfaitement à ce type d’environnement.</p>
 
codufdl 2021-10-14
<p>Rust est vraiment trop séduisant ; j’avais acheté le livre sans encore le lire, mais là, ma curiosité est soudainement en feu haha</p>