Buat admin saya gak tau mau taruh dimana postingan ini mohon dipindahkan ketempat yang sesuai yah om.
Apa itu HHVM?HHVM singkatan dari HipHop Virtual Machine. Secara sederhananya, HHVM adalah mesin yang bertugas untuk menjalankan sintak PHP.
Ketika kita menginstall PHP di Komputer, secara default akan menggunakan mesin interpreter bawaan dari PHP untuk menjalankan program-program berbasis PHP. Nah disamping itu, kita juga bisa menggunakan mesin alternatif lain seperti HHVM yang saya maksud.
HHVM dikembangkan oleh Facebook, dengan kode proyek sumber host di GitHub dan berlisensi di bawah Lisensi PHP dan Zend Lisensi. HHVM dibuat sebagai penerus dari Hip Hop untuk PHP (HPHPc) mesin eksekusi PHP, yang merupakan PHP ke C++ transpiler yang juga telah diciptakan oleh Facebook.
Bersama-sama dengan HHVM, Facebook juga merilis Hack, yang merupakan bahasa pemrograman yang dirancang khusus untuk HHVM dan dapat dilihat sebagai versi baru dari bahasa PHP.
HHVM berjalan lebih dari PHP yang ada di dunia. Pengembang dan host yang mengadopsi HHVM. Tim HHVM, bersama dengan banyaknya anggota Komunitas, telah membuatnya menjadi ternyatakan, tujuan prioritas tinggi untuk menjalankan semua kode PHP yang ada di dunia ini.
HHVM mengkompilasi Hack dan PHP menjadi kode bit menengah. Kode bit ini kemudian diterjemahkan ke dalam kode mesin X64 dinamis pada saat runtime oleh JIT Compiler. Proses kompilasi ini memungkinkan untuk segala macam optimasi yang tidak dapat dibuat dalam biner statis kompilasi, sehingga memungkinkan kinerja yang lebih tinggi dari program Hack dan PHP Anda. Daripada langsung menafsirkan atau mengkompilasi kode PHP langsung ke C++.
HHVM membawa banyak manfaat dibandingkan dengan HPHPc, dan salah satunya adalah dukungan hampir lengkap untuk seluruh bahasa PHP, termasuk dukungan HHVM untuk konstruksi create_function() dan eval().
Sebagai mesin virtual proses yang menyediakan lingkungan eksekusi, HHVM memiliki kemampuan untuk menggunakan informasi jenis secara langsung untuk menghasilkan kode native yang lebih efisien, yang mengarah ke yang lebih tinggi melalui web server dan latency rendah.
Saya membuat 2 domain dengan spesifikasi server yang sama dan isi yang sama (memang karena berada di satu server )
kali ini saya akan membandingkan http://mseptian.com/ dengan http://kotaksoal.com/
http://mseptian.com/ menggunakan PHP versi 5.6.99-hhvm Sedangkan http://kotaksoal.com/ menggunakan PHP versi 5.5.9-1ubuntu4.14
dengan menjalankan file PHP sederhana dari http://www.php-benchmark-script.com
Dapat dihasilkan dengan hasil seperti berikut
Bagaimana? itu baru execute php sederhana. bagaimana kalo sudah banyak?
Note: bagi yang bilang "ah itu hanya sebuah gambar, bisa dimodifikasi" silahkan cek di http://mseptian.com/benchmark.php dan di http://kotaksoal.com/benchmark.php
bagi yang bilang "ah itu hanya PHP yang sama, gak ada bedanya" silahkan cek di http://mseptian.com/info.php dan di http://kotaksoal.com/info.php
Apa itu HHVM?
Ketika kita menginstall PHP di Komputer, secara default akan menggunakan mesin interpreter bawaan dari PHP untuk menjalankan program-program berbasis PHP. Nah disamping itu, kita juga bisa menggunakan mesin alternatif lain seperti HHVM yang saya maksud.
HHVM dikembangkan oleh Facebook, dengan kode proyek sumber host di GitHub dan berlisensi di bawah Lisensi PHP dan Zend Lisensi. HHVM dibuat sebagai penerus dari Hip Hop untuk PHP (HPHPc) mesin eksekusi PHP, yang merupakan PHP ke C++ transpiler yang juga telah diciptakan oleh Facebook.
Bersama-sama dengan HHVM, Facebook juga merilis Hack, yang merupakan bahasa pemrograman yang dirancang khusus untuk HHVM dan dapat dilihat sebagai versi baru dari bahasa PHP.
HHVM berjalan lebih dari PHP yang ada di dunia. Pengembang dan host yang mengadopsi HHVM. Tim HHVM, bersama dengan banyaknya anggota Komunitas, telah membuatnya menjadi ternyatakan, tujuan prioritas tinggi untuk menjalankan semua kode PHP yang ada di dunia ini.
HHVM mengkompilasi Hack dan PHP menjadi kode bit menengah. Kode bit ini kemudian diterjemahkan ke dalam kode mesin X64 dinamis pada saat runtime oleh JIT Compiler. Proses kompilasi ini memungkinkan untuk segala macam optimasi yang tidak dapat dibuat dalam biner statis kompilasi, sehingga memungkinkan kinerja yang lebih tinggi dari program Hack dan PHP Anda. Daripada langsung menafsirkan atau mengkompilasi kode PHP langsung ke C++.
HHVM membawa banyak manfaat dibandingkan dengan HPHPc, dan salah satunya adalah dukungan hampir lengkap untuk seluruh bahasa PHP, termasuk dukungan HHVM untuk konstruksi create_function() dan eval().
Sebagai mesin virtual proses yang menyediakan lingkungan eksekusi, HHVM memiliki kemampuan untuk menggunakan informasi jenis secara langsung untuk menghasilkan kode native yang lebih efisien, yang mengarah ke yang lebih tinggi melalui web server dan latency rendah.
Lalu kenapa harus pindah? padahal sama-sama PHP toh
Disini biar gambar yang menjelaskanSaya membuat 2 domain dengan spesifikasi server yang sama dan isi yang sama (memang karena berada di satu server )
kali ini saya akan membandingkan http://mseptian.com/ dengan http://kotaksoal.com/
http://mseptian.com/ menggunakan PHP versi 5.6.99-hhvm Sedangkan http://kotaksoal.com/ menggunakan PHP versi 5.5.9-1ubuntu4.14
dengan menjalankan file PHP sederhana dari http://www.php-benchmark-script.com
PHP:
<?php
/*
##########################################################################
# PHP Benchmark Performance Script #
# © 2010 Code24 BV #
# #
# Author : Alessandro Torrisi #
# Company : Code24 BV, The Netherlands #
# Date : July 31, 2010 #
# version : 1.0 #
# License : Creative Commons CC-BY license #
# Website : http://www.php-benchmark-script.com #
# #
##########################################################################
*/
function test_Math($count = 140000) {
$time_start = microtime(true);
$mathFunctions = array("abs", "acos", "asin", "atan", "bindec", "floor", "exp", "sin", "tan", "pi", "is_finite", "is_nan", "sqrt");
foreach ($mathFunctions as $key => $function) {
if (!function_exists($function)) unset($mathFunctions[$key]);
}
for ($i=0; $i < $count; $i++) {
foreach ($mathFunctions as $function) {
$r = call_user_func_array($function, array($i));
}
}
return number_format(microtime(true) - $time_start, 3);
}
function test_StringManipulation($count = 130000) {
$time_start = microtime(true);
$stringFunctions = array("addslashes", "chunk_split", "metaphone", "strip_tags", "md5", "sha1", "strtoupper", "strtolower", "strrev", "strlen", "soundex", "ord");
foreach ($stringFunctions as $key => $function) {
if (!function_exists($function)) unset($stringFunctions[$key]);
}
$string = "the quick brown fox jumps over the lazy dog";
for ($i=0; $i < $count; $i++) {
foreach ($stringFunctions as $function) {
$r = call_user_func_array($function, array($string));
}
}
return number_format(microtime(true) - $time_start, 3);
}
function test_Loops($count = 19000000) {
$time_start = microtime(true);
for($i = 0; $i < $count; ++$i);
$i = 0; while($i < $count) ++$i;
return number_format(microtime(true) - $time_start, 3);
}
function test_IfElse($count = 9000000) {
$time_start = microtime(true);
for ($i=0; $i < $count; $i++) {
if ($i == -1) {
} elseif ($i == -2) {
} else if ($i == -3) {
}
}
return number_format(microtime(true) - $time_start, 3);
}
$total = 0;
$functions = get_defined_functions();
$line = str_pad("-",38,"-");
echo "<pre>$line\n|".str_pad("PHP BENCHMARK SCRIPT",36," ",STR_PAD_BOTH)."|\n$line\nStart : ".date("Y-m-d H:i:s")."\nServer : {$_SERVER['SERVER_NAME']}\nPHP version : ".PHP_VERSION."\nPlatform : ".PHP_OS. "\n$line\n";
foreach ($functions['user'] as $user) {
if (preg_match('/^test_/', $user)) {
$total += $result = $user();
echo str_pad($user, 25) . " : " . $result ." sec.\n";
}
}
echo str_pad("-", 38, "-") . "\n" . str_pad("Total time:", 25) . " : " . $total ." sec.</pre>";
?>
Dapat dihasilkan dengan hasil seperti berikut
Bagaimana? itu baru execute php sederhana. bagaimana kalo sudah banyak?
Note: bagi yang bilang "ah itu hanya sebuah gambar, bisa dimodifikasi" silahkan cek di http://mseptian.com/benchmark.php dan di http://kotaksoal.com/benchmark.php
bagi yang bilang "ah itu hanya PHP yang sama, gak ada bedanya" silahkan cek di http://mseptian.com/info.php dan di http://kotaksoal.com/info.php
Like jika bermanfaat. kalo gak bermanfaat tolong jangan di like. Takut terjadi perang diantara kita