PHP7 atau HHVM ?

PHP7 atau HHVM ?

Welcome PHP7.0!

PHP7.0.0 baru dirilis kemarin. Rilis ini bukan saja membawakan peningkatan performance yang cukup signifikan tetapi juga membawakan fitur-fitur baru seperti:

  • Scalar type declarations & Return type declaration — Fitur ini menyempurnakan optional typing di PHP. Di KMKLabs kita dalam proses menerapkan lebih type checking di code kita.
  • Anonymous classes — kebolehan untuk membuat class inline, tanpa class declaration terlebih dahulu. Ini akan berguna apabila kita ingin menghasilkan mock untuk test dimana classnya hanya dipakai untuk test tersebut.
  • Generator delegation & Generator return expressions — Ini meningkatkan kebolehan fitur generator di PHP. Sekarang generator bisa disambung antara satu sama lain dan juga bisa mereturn suatu value akhir.
  • Fitur syntatic sugar seperti null coalesce operator (??) dan spacechip opearator (<=>) , group Use declarations

Yang pasti adalah dengan fitur-fitur baru ini alasan bahwa PHP adalah suatu bahasa pemograman yang cetek atau limited fiturnya semakin kurang pas.

Apa yang penting adalah programmer PHP menggunakan fitur-fitur baru ini dipekerjaan sehari-hari mereka. Sebagai contoh, jarang sekali saya melihat project open source PHP menggunakan fitur seperti generator meskipun versi awalnya sudah ada sejak PHP 5.5. Pattern generator ini sangat berguna dan sering diggunakan di programming language seperti Python. Dengan semakin matangnya fitur PHP, semakin banyak developer harus mengambil peluang memaanfatkan fitur-fitur baru ini.

PHP7.0 vs HHVM — FIGHT!

Selain dari fitur, apa yang lebih diberi perhatian dari komunitas adalah performance. Menurut situs Phronix yang membuat perbandingan diantara PHP7-RC7 dan HHVM3.10 menggunakan benchmark tool mereka, PHP7 adalah lebih cepat dari HHVM 3.10.1, tetapi HHVM menggunakan resource memory yang lebih sedikit.

Harus diingat bahwa benchmark Phronix lebih kepada benchmark berunsur stress yang dijalankan hanya pada tahap CLI dan bukan diserver. Benchmark berunsur real world application (seperti menjalankan applikasi Wordpress atau Drupal) bisa menghasilkan data yang berbeda. Namun yang pasti adalah PHP7 cukup cepat dan kemungkinan besar lebih cepat dari HHVM3.10.

Kemarin Josh Watzman dari Facebook ada mengeluarkan blog post bahawa release HHVM 3.11 akan dimundurkan untuk memastikan semua fitur baru yang ada di PHP7 juga disupport. Bukan saja itu tapi HHVM masih akan mensupport fitur dari PHP5 yang tidak lagi disupport PHP7. Informasi tentang performance tidak dimasukkan, tapi saya yakin itu juga akan diberi fokus yang cukup detail.

Bagus untuk komunitas

Akhirnya, perjuangan diantara Zend dengan PHP7.0 dan Facebook dengan HHVM sebenarynya memaanfatkan komunitas penggunaanya. Untuk terlalu lama pengguna PHP diabaikan dengan runtime yang cukup lambat. Dengan tibanya HHVM, Zend dan komunitas dibelakang php-dev bangun dari tidur mereka.

Apapun yang anda pilih, HHVM atau PHP7.0, kedua-dua projek ini memainkan peranan yang sangat penting dalam memastikan komunitas PHP tidak ketinggalan berbanding komunitas lain.

Kalian pilih mana?

Masukkan jawaban anda dikotak komentar.