Composer 2.0 Telah Dirilis – Seberapa Cepat?

1 min read

Disclaimer
Saya bekerja di AWS, semua opini adalah dari saya pribadi. (I work for AWS, my opinions are my own.)
Composer 2.0 Telah Dirilis
Composer Logo (Sumber: getcomposer.org)

TeknoCerdas.com – Salam cerdas untuk kita semua. Package manager untuk PHP terpopuler untuk PHP saat ini yaitu Composer 2.0 telah dirilis. Menurut rilis resmi dari blog.packagist.org perubahan yang menonjol pada rilis besar ini adalah peningkatan kecepatan. Seberapa cepat Composer 2.0 dibandingkan versi sebelumnya?

Dilansir dari blog resminya peningkatan kecepatan bervariasi tergantung dari tipe project. Namun secara umum peningkatan performa berkisar diangka 50%. Cukup bagus untuk sebuah rilis besar baru.

Pada sisi arsitektur Composer 2 membawa perubahan yang cukup signifikan. Dimana ketika update dilakukan direktori vendor/ tidak akan disentuh dulu. Setelah semua operasi yang berhubungan dengan network (download) berhasil dilakukan maka proses update baru dilakukan.

Baca Juga:
Menjalankan PHP pada .NET Core

Keputusan model arsitektur tersebut agar ketika terjadi kegagalan network atau proses download, direktori vendor/ tidak rusak karena hanya separuh atau beberapa bagian saja yang terupdate.

Cara Upgrade ke Composer 2.0

Untuk melakukan upgrade dari Composer 1.x ke Composer 2.0 caranya cukup mudah. Pengguna cukup menambahkan opsi --2 pada argumen perintah self-update.

$ composer self-update --2

Perintah tersebut akan otomatis melakukan upgrade ke versi 2.0. Jika pengguna mengalami masalah seperti isu kompatibilitas maka dapat kembali ke versi sebelumnya.

$ composer self-update --1

Hal yang perlu diperhatikan setelah upgrade adalah pastikan plugin yang digunakan kompatibel dengan Composer 2.0. Beberapa plugin belum mendukung Composer 2.0 jadi sebelum upgrade pastikan semua dukungan pada plugin bisa berjalan pada Composer 2.0.

Hasil Benchmark Composer 1 vs Composer 2

Benchmark ini dilakukan pada instance AWS EC2 region Singapore dengan tipe instance m5d.xlarge. Setiap proses tes baru semua composer cache dibersihkan agar selalu dilakukan download ulang seperti kondisi baru terinstal.

PackageComposer 1Composer 2Peningkatan
Laravel186 detik19 detik9.7x
CakePHP142 detik16 detik8.8x
CodeIgniter448 detik9 detik5.3x
Perbandingan kecepatan instal package Composer 1 vs Composer 2

Dan berikut ini adalah grafik dari perbandingan Composer 1 vs Composer 2 berdasarkan tabel sebelumnya.

Perbandingan Kecepatan Composer 1 dan Composer 2
Perbandingan Kecepatan Composer 1 dan Composer 2

Dapat terlihat dari tabel dan grafik perbandingan kecepatan Composer 1 dan Composer 2 cukup jauh. Pada Laravel peningkatan kecepatan mencapai 9.7 kali lipat dari 186 detik menjadi hanya 19 detik.

Baca Juga:
Ulasan Fitur Baru di Laravel 8

Dengan peningkatan seperti ini maka pengguna sangat disarankan untuk melakukan upgrade ke Composer 2.0. Terutama untuk penggunaan project baru dimana tidak ada legacy yang harus dipikirkan.