PHP-8 sẽ được phát hành vào cuối năm nay và một trong những tính năng thú vị nhất của nó là trình biên dịch JIT. Đây vốn là tính năng nổi tiếng trên Java và JavaScript. Vậy PHP-8 sẽ nhanh như thế nào?
Hãy để xem cách nó cải thiện tốc độ của một tập lệnh PHP.
Về lý thuyết, JIT (Just-In-Time) sẽ tăng tốc độ của một ứng dụng do cách nó xử lý việc biên dịch các tập lệnh PHP. Nhưng liệu xem nó có đáp ứng được mong đợi của chúng ta qua bài test hiệu năng?
*Lưu ý: Phiên bản PHP-8 mà mình đang sử dụng không phải là phiên bản cuối cùng.
Trước hết, để bắt đầu, chúng ta cần có một tập lệnh PHP. Và mình chọn thuật toán bumble sort vì nó nổi tiếng tệ hại.
Source code trên Github: https://gist.github.com/PedroEscudero/b64ea7409c0cc483c44f0773b6aebbdb
Và để đơn giản nhất, không bị ảnh hưởng bởi yếu tố khác mình sử dụng mình sử dụng một mảng cho sẵn (Gồm 1419 phần tử).
Đầu tiên, hãy chạy tập lệnh trong phiên bản PHP hiện tại, phiên bản 7.4.
Sau khi chạy nó 100 lần, thời gian trung bình mà tôi có là 0.10253500938416 giây. Cũng không tệ.
Bây giờ chúng ta thử chạy nó trong phiên bản PHP-8 mà không kích hoạt JIT:
Một lần nữa, sau 100 lần chạy, mình có thời gian trung bình là 0.098223924636841 giây. Thành thật mà nói, sự cải thiện không ấn tượng lắm.
Nhưng chúng ta đang ở đây để kiểm tra tính năng đáng mong chờ là JIT. Bây giờ, hãy chạy lại và kích hoạt JIT:
Thời gian trung bình là 0.053637981414795 giây. Quả thực là tính năng JIT quá tuyệt vời! Đây là một tin tốt cho những tín đồ của PHP vốn lo lắng về tốc độ của ứng dụng. Mặc dù con số trông có vẻ không lớn, Chỉ cải thiện nhanh hơn 0.04458594322 giây.
Nhưng nếu chúng ta xem nó theo phần trăm, chúng ta sẽ thấy nó rất lớn: 45,39%. Con số cải thiện hiệu suất gần 50% so với PHP 7.4.
Bây giờ chúng ta sẽ so sánh hiệu năng so với PHP 5.3 có cách đây từ 2009:
Mất đến 0.64574003219604 giây, chậm hơn 0.5921020508 giây so với PHP-8. Và chậm hơn -1.003,89% khi JIT được kích hoạt.
Bảng so sánh hiệu suất của các phiên bản PHP:
Thật không thể tin được, chúng ta đã làm việc với công nghệ đó trong năm 2009!
*Lưu ý:
- Tôi đã sử dụng thuật toán bumble sort và mảng thuần túy. Bạn hoàn toàn có thể thử nghiệm thuật toán khác .
- Phiên bản PHP-8 mình sử dụng không phải là bản cuối cùng. Thế nên nó còn có thể cải thiện thêm.
- Kết quả của tôi gồm rất nhiều chữ số thập phân vì tôi muốn chính xác nhất có thể.
- Tôi sử dụng keinos và martinpham cho bài thử nghiệm này.
- Tôi đã làm các thử nghiệm trên một máy tính xách tay Linux Manjaro với chip Intel core i5, 3 GHz và 32 GB RAM.
- Với cấu hình khác, những con số có thể thay đổi, nhưng tôi chắc chắn tỷ lệ sẽ là tương tự nhau.
Phiên bản PHP-8 này với việc bổ sung tính năng JIT compiler sẽ hứa hẹn hiệu năng tốt hơn, tuyệt vời hơn nữa. Nếu bạn đang làm việc thường xuyên với PHP thì tôi tin rằng bạn còn mong chờ hơn tôi.
Nguồn: https://levelup.gitconnected.com/how-fast-is-php-8-going-to-be-f7fdc111cd6