Hai, nama saya Nikolai Krapivny, saya mengepalai departemen pengembangan sisi server di Badoo. Di Badoo, PHP adalah salah satu bahasa utama, sebagian besar logika bisnis sistem kami ditulis di dalamnya. Oleh karena itu, kami mengikuti berita dari dunia PHP, berpartisipasi aktif dalam pengembangan bahasa dan mencoba mengembangkan komunitas di sekitar PHP .
Hari ini saya ingin berbagi terjemahan surat dari Zeev Suraski , salah satu pendiri Zend Technologies, yang menguraikan perkembangan lebih lanjut dari PHP dan menjelaskan apa yang harus kita harapkan dalam PHP 8.Saya akan menulis tentang ini nanti, tetapi karena mereka mengangkat topik tentang PHP 8, sepertinya sudah waktunya untuk memulai diskusi.
Saya tekankan: tujuan surat ini bukan untuk membahas secara terperinci setiap perubahan yang saya sebutkan, melainkan mengkonsolidasikan rencana kami: apakah kami akan fokus pada PHP 8 setelah 7.3, yang didasarkan pada beberapa proyek penelitian dan pengembangan eksperimental kami.
Ada sejumlah bidang untuk pengembangan yang menurut saya perlu untuk mengarahkan sumber daya dalam versi utama berikutnya.
Jit
Sebagian besar dari Anda mungkin tahu bahwa kami menghabiskan banyak upaya untuk mengimplementasikan JIT di atas infrastruktur PHP 7. Ada berita baik dan buruk. Bagus: seperti dalam kasus percobaan dengan JIT, yang kami lakukan pada tahun 2014, kami mendapatkan hasil benchmark yang mengesankan dengan beban CPU yang intensif. Berita buruknya adalah bahwa JIT dalam pengujian kami tidak memberikan keuntungan besar pada beban web biasa.
Dengan kata lain, tidak seperti situasi di tahun 2014, kami percaya bahwa JIT tidak akan meningkatkan kinerja saat memproses beban kerja web biasa, karena mengeksekusi kode PHP tidak lagi menjadi hambatan.
Tapi saya masih berpikir kita perlu memasukkan JIT dalam versi utama PHP berikutnya. Setidaknya untuk dua alasan:
- Ini akan memungkinkan PHP menangani jenis beban kerja baru (bukan web).
- PHP , (, PHP-
unserialize()
C).
, , - , -, (
. Badoo: . CPU , CPU ).
, , , JIT OPcache ( ) , .
, , PHP 7.0 JIT-:
https://www.youtube.com/watch?v=dWH65pmnsrI(long-running), , . , , Node.js , . . , PHP , , ReactPHP Swoole.
, - PHP . , - , , Swoole. , , /, . , , . , libuv, , , PHP-.
(Foreign Function Interface)
PHP , ++, . , , , , , . PHP «» , ; — «» , . (
.: ) . TensorFlow PHP, , , PHP:
98%. , JIT PHP , . , ( JIT), , , , .
, JIT PHP 8, . «» PHP, ( FFI). JIT PHP , . , -, ( , ) , .
(.: : « — PHP- PHP; , , request- include/require. , PHP». .), :
- . - , , PHP 8.
- . , , RFC , - .
— , ( — , JIT), PHP 8 PHP 7.3 PHP 7.x. PHP 8 , , , 2—2,5 ( / 2020-). PHP 7.4 - 2019-, , (deprecate) , , PHP 7.3, PHP 8.
PHP 8 7.3, . , , RFC «PHP 8 feature- PHP», 7.4; ( ) . , - ( ), // .
, , «» . , CPU -.
PHP 8 PHP ? .