تغییرات composer 2 و تاثیر آن در سرعت اجرا
همونطور که میدونید Composer تقریبا هشت سال پیش ریلیز شد و دنیای php رو تونسته تو دهه اخیر تغییر چشمگیری بده .
حالا بعد از هشت سال دو روز پیش در تاریخ ۲۰۲۰/۱۰/۲۵ یک ورژن Major با شماره ۲ داده بیرون که ما اینجا تغییرات و تاثیراتی که تو پرفرمنس سمت توسعه داره رو بررسی میکنیم .
Composer v2 تونسته سرعت دانلود پکیج ها و متادیتاها رو نصف کنه . به چه صورت ؟ اینطوری که تمام package ها و متادیتاها به صورت پارالل و همزمان دانلود میشن ، به تصویر زیر نگاه کنید ببینید برای نصب پکیج لاراول چند ثانیه تونسته سرعت دانلود رو بالاتر ببره .
بله تقریبا نصف شده زمان انتظار نصب.
اینطوریه که وقتی دستور CURL میخواد برای واکشی پکیج ها، اجرا بشه، چند پکیج یا api با هم در یک زمان شروع به دانلود میشن و اینطوری تو زمان کل دانلود کاهش چشمگیری رو میشه دید. به علاوه اینکه Composer v2 از Http2 استفاده میکنه که قبلا در یک پست مجزا تفاوتش رو با Http1 گفتیم و در آینده هم یک ویدیو Benchmark از تفاوت این دو پروتوکل و تاثیر اونها تو پرفرمنس اپلیکیشن های تحت وب میسازیم .
البته Composer تغییرات دیگه ای هم داشته و ما فقط بحث های پرفرمنسی رو بررسی کردیم و اینکه قبل از ورژن ۲ یک plugin به نام hirak/prestissimo برای composer نوشته بودن که بحث پارالل دانلود رو به کومپوزر اضافه میکرد و مثلا برای نصب پکیج لاراول ۲۸۸ ثانیه زمان انتظار نصب رو به ۲۶ ثانیه میرسونه .