Perbandingan waktu mulai Cold/Warm AWS Lambda per runtime 2021/09
(medium.com/@filia-aleks)-
Menguji metode POST dengan alur API-Gateway → AWS Lambda → DynamoDB
-
Menguji masing-masing memori 128/256/512/1024/10240MB
-
Cold Start
→ Secara keseluruhan, Rust paling cepat. Hanya pada 128Mb Python menempati peringkat pertama
→ Sebagian besar cepat, kecuali Java dan .NET
→ Java bahkan tidak bisa mulai pada 128Mb, tetapi GraalVM bisa
- Warm Start
→ Golang dan Rust adalah pemenangnya
→ .Net juga menunjukkan performa yang hampir mirip dengan Go/Rust, tetapi hanya setelah 1k eksekusi berulang (setelah JIT)
→ GraalVM juga menunjukkan performa stabil yang mirip dengan .Net, dan sedikit lebih lambat daripada Rust/Go. Tidak berjalan baik pada setup minimum
→ Java tepat di belakang GraalVM. Java juga baru menunjukkan performa setelah 1~3k pengulangan seperti .Net
→ Python menunjukkan performa bagus yang stabil, tetapi terlalu lambat pada 128MB
→ Ruby menunjukkan performa yang mirip dengan Python, tetapi setelah sekitar 20 menit (15k pengulangan) ada sedikit peningkatan pada duration
→ Node.js adalah runtime paling lambat. Duration-nya juga paling panjang
-
Jika dilihat dari Cold + Warm, Golang dan Rust adalah pemenangnya. Keduanya selalu menunjukkan hasil yang cepat dan stabil
-
Runtime yang dibandingkan: NodeJs(14.x), Python(3.9), Go(1.x), Ruby(2.7), .Net(3.1), Java (11), Rust(1.54.0), GraalVM(21.2)
5 komentar
Saya sudah melihat sekilas,
Tetapi pola Rust, Golang ~~ Python, Ruby tampaknya tidak terlalu berbeda dari ekspektasi umum...
Agak mengejutkan juga bahwa Java tetap lambat meski tidak ada biaya untuk menyalakan VM dan JIT sudah diterapkan.
Saya juga mengira Node.js akan cepat setelah JIT, tetapi hasilnya ternyata lambat.
Mungkin karena arsitektur tempat Lambda berjalan atau stack virtualisasinya berbeda ya..
Faktor yang bisa memengaruhi pengujian performa memang terlalu banyak, jadi sepertinya hasilnya juga tidak perlu ditanggapi terlalu serius... haha
Bukankah golang yang jadi pemenangnya? haha
Ya, sepertinya hasilnya memang seperti itu.
Saya memang belum pernah memakai golang di lingkungan cloud, tetapi rasanya ini sangat cocok untuk lingkungan cloud.
Rust memang sangat menarik; saya sudah beli bukunya tapi belum sempat membacanya, dan rasa penasaran saya jadi benar-benar menyala, haha.