12 Punkte von xguru 2021-10-14 | 5 Kommentare | Auf WhatsApp teilen
<p>- Test der POST-Methode mit dem Flow API-Gateway → AWS Lambda → DynamoDB <br /> - Test mit jeweils 128/256/512/1024/10240MB Arbeitsspeicher<br /> - Cold Start <br /> → Insgesamt ist Rust am schnellsten. Nur bei 128Mb liegt Python auf Platz 1<br /> → Mit Ausnahme von Java und .NET sind die meisten schnell <br /> → Java kann mit 128Mb nicht einmal starten, GraalVM jedoch schon <br /> - Warm Start <br /> → Golang und Rust sind die Gewinner<br /> → .Net zeigt ebenfalls eine nahezu vergleichbare Leistung wie Go/Rust, aber erst nach 1k wiederholten Ausführungen (nach JIT)<br /> → GraalVM zeigt ebenfalls eine ähnliche stabile Leistung wie .Net und ist etwas langsamer als Rust/Go. Mit Minimal-Setup funktioniert es nicht gut<br /> → Java folgt direkt hinter GraalVM. Auch Java liefert seine Leistung wie .Net erst nach 1–3k Wiederholungen<br /> → Python zeigt eine stabil gute Leistung, ist aber bei 128MB zu langsam <br /> → Ruby zeigt eine ähnliche Leistung wie Python, aber nach etwa 20 Minuten (15k Wiederholungen) steigt die Laufzeit (`duration`) leicht an <br /> → Node.js ist die langsamste Laufzeit. Auch die Laufzeitdauer ist am längsten<br /> <br /> - Betrachtet man Cold + Warm zusammen, sind Golang und Rust die Gewinner. Sie zeigen stets schnelle und stabile Ergebnisse <br /> <br /> - Verglichene Laufzeiten: 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 Kommentare

 
ehlegeth 2021-10-14
<p>Ich habe es nur grob überflogen,<br /> aber das Bild mit Rust, Golang ~~ Python und Ruby scheint nicht stark von den allgemeinen Erwartungen abzuweichen ...<br /> <br /> Etwas überraschend ist allerdings, dass Java trotz fehlender Kosten für das Hochfahren der VM und trotz JIT langsam ist.<br /> Ich dachte auch, dass Node.js nach dem JIT schnell sei, aber hier kam ein langsames Ergebnis heraus.<br /> <br /> Liegt das vielleicht daran, dass sich die Architektur, auf der Lambda läuft, oder der Virtualisierungs-Stack unterscheidet ..</p>
 
ehlegeth 2021-10-14
<p>Bei Performance-Tests gibt es einfach zu viele Faktoren, die das Ergebnis beeinflussen können, daher sollte man die Resultate vielleicht nicht allzu ernst nehmen ... haha</p>
 
eajrezz 2021-10-14
<p>Ist golang nicht der Sieger? haha</p>
 
ehlegeth 2021-10-14
<p>Ja, es scheint tatsächlich so zu sein. <br /> Ich habe Go zwar noch nicht in einer Cloud-Umgebung eingesetzt, aber ich denke, dass es dafür wie gemacht ist.</p>
 
codufdl 2021-10-14
<p>Rust ist wirklich unglaublich attraktiv. Ich hatte mir zwar ein Buch gekauft, es aber noch nicht gelesen, doch aus Neugier ist meine Motivation gerade richtig entflammt, haha.</p>