Paul M. Jones | AutoRoute 3x Lebih Cepat Dari FastRoute

Ketika saya pertama kali menerbitkan AutoRoute pada April 2019, saya membandingkannya karena kebiasaan, untuk melihat bagaimana hal itu dibandingkan dengan sistem perutean tercepat yang saya tahu, FastRoute. Hasil benchmark pada waktu itu biasanya terlihat seperti ini pada PHP 7.2:

AutoRoute Runtime: 0.11443305015564
FastRoute Runtime: 1.9010598659515
FastRoute Cached:  0.12522411346436

Ternyata AutoRoute sedikit lebih cepat dari FastRoute; Aku senang, tapi terkejut. Mendapatkan di mana saja dekat dengan FastRoute sudah cukup bagi saya.

Namun belakangan ini, saya sedang mengerjakan AutoRoute versi 2.x, dan saya membandingkan 2.x dengan benchmark 1.x. Saya sangat tidak senang dengan hasilnya: 2.x lebih lambat 6x dari 1.x. Saat menyelidiki penyebabnya, saya perhatikan bahwa saya telah mengaktifkan XDebug. Mematikannya membawa tolok ukur komparatif ke sesuatu yang jauh lebih masuk akal.

Ternyata saya melakukan kesalahan yang sama ketika membandingkan 1.x dengan FastRoute, jadi saya telah memperbaiki kesalahan saya dan memperbarui benchmark 1.x AutoRoute. Saya bahkan lebih terkejut sekarang: skenario melaporkan bahwa AutoRoute sekitar 3x lebih cepat daripada FastRoute:

AutoRoute Runtime: 0.027965068817139
FastRoute Runtime: 0.21157002449036
FastRoute Cached:  0.10321187973022

Sekarang, ingat: perutean hanyalah sebagian kecil dari keseluruhan kinerja aplikasi Anda. Menggunakan AutoRoute melalui FastRoute tidak akan melipatgandakan kecepatan aplikasi Anda. Namun, memuaskan untuk menemukan kinerja yang lebih baik di mana Anda bisa.

Apakah Anda terjebak dengan aplikasi PHP lama? Anda harus membeli buku saya karena ini memberi Anda panduan langkah demi langkah untuk meningkatkan basis kode Anda, sambil tetap menjalankannya sepanjang waktu.