بنچمارک PHP 8.4: عملکرد نسبت به 8.3 و 8.2 تغییر چندانی نداشته
خلاصهٔ کاملتر
Tideways، شرکت سازندهی ابزار پروفایلینگ PHP، هر ساله بعد از انتشار نسخهی جدید PHP بنچمارکهایی منتشر میکنه تا ببینه آپگرید چقدر روی عملکرد واقعی اثر میذاره. نتیجهی امسال خیلی صریحه: عملکرد PHP 8.4 در مقایسه با 8.3 و 8.2 تغییر قابلتوجهی نداشته و آپگرید صرف نسخه، راهحل جادویی برای بهبود سرعت نیست.
آزمایشها روی سه پروژهی محبوب PHP انجام شده: Laravel 12، Symfony 7.1 و WordPress 6.7. زیرساخت مشترک شامل یک سرور Hetzner با ۸ هستهی اختصاصی، دبیان ۱۲، و وبسرور PHP-FPM با ۱۷ worker بوده. بنچمارکها در دو حالت اجرا شدن: یکی با تعداد ثابت درخواست در ثانیه برای سنجش زمان پاسخ، و دیگری با تعداد ثابت درخواست همزمان برای سنجش توان عملیاتی.
نکتهی مهم در متدولوژی اینه که عمداً از اجرا در حداکثر ظرفیت پرهیز شده. بسیاری از بنچمارکهای رایج سعی میکنن ببینن یک نسخه چند درخواست در ثانیه میتونه تحمل کنه — اما این معیار مصنوعیه. در دنیای واقعی، شما هیچوقت سرور رو تا لبهی ظرفیتش هل نمیدی؛ آنچه اهمیت داره زمان پاسخدهی (TTFB) زیر بار معمولیه.
نتایج بهتفکیک: در Symfony تفاوت بین 8.3 و 8.4 در حد خطای اندازهگیری بود. در Laravel نیز تقریباً هیچ تفاوتی در زمان پاسخ دیده نشد، جز یک بهبود کوچک در صدک ۹۹ام (بدترین حالت). در WordPress هم نسخههای ۸ بهطور کلی نسبت به PHP 7.4 حدود ۵٪ بهتر بودن، اما بین 8.2، 8.3 و 8.4 اختلاف معناداری وجود نداشت.
این به این معنا نیست که PHP 8.4 بهبودهای فنی نداشته. ویژگیهایی مثل بهینهسازی کامپایلتایم برای sprintf، پشتیبانی از دستورالعملهای SHA-NI پردازنده، و Lazy Objects میتونن در کدهای خاص تفاوت ایجاد کنن — اما بهرهمندی از این قابلیتها نیاز به تغییرات هدفمند در کد داره، نه صرفاً آپگرید نسخه.
نکات کلیدی:
- PHP 8.4 نسبت به 8.3 و 8.2 تفاوت عملکردی محسوسی در Laravel، Symfony و WordPress نداره
- تنها مقایسهی چشمگیر، PHP 7.4 در برابر PHP 8.x هست که حدود ۵٪ کندتره
- بزرگترین اهرم بهبود عملکرد، معماری و کد اپلیکیشنه، نه نسخهی PHP
- بنچمارک با تمرکز بر زمان پاسخ واقعی انجام شده، نه حداکثر توان عملیاتی
- JIT در این آزمایشها فعال نبوده




