4

PHP 5.5 と HHVM のベンチマークをいくつか実行しようとしましたが、hhvm でかなり良い結果が得られました。ただし、HHVM でのバブル ソートのパフォーマンスはかなり悪いです。配列と関係があると思います。以下の例では、q=1000 の場合、hhvm は php 5.5 よりもほぼ 5 倍悪くなります。どちらの場合も、テストが何度も実行されたため、ウォームアップ時間が問題になるとは思いません。どちらの場合も fastcgi モードです。q=1000 の場合、php5.5 ではページを提供するのに約 200 ミリ秒かかりましたが、hhvm では約 1000 ミリ秒かかりました。splfixedclass を使ってみましたが、hhvm でのパフォーマンスもかなり悪かったです。hhvm でアレイのパフォーマンスを向上させる特別なクラスまたはいくつかの特別なオプションはありますか?

ここで何をしたかを正確に説明します: http://letschat.info/php-5-5-vs-hhvm-vs-node-js-benchmark-part-2/

$starttime = microtime(true);

if($_GET['q']!=""){
 $count = $_GET['q'];
} else {
  $count = 100;

}

function  getRandom(){
        $random = array();
        global $count;

        for($i=0;$i<$count;$i++){
                $random[]=rand(1,100);
        }
        return $random;
}

$array = getRandom();

for($i=0;$i<10;$i++) {
        #$i=0;
        //while ($i<$a) {

        $a = count($array);
        $b=$a-1;

        for($j=0; $j < $a; $j++){
                for ($k=0;$k<$b;$k++) {
                        if ($array[$k+1] < $array[$k]) {
                                $t = $array[$k];
                                $array[$k] = $array[$k+1];
                                $array[$k+1] = $t;
                        }
                }

                //++$i;
        }
        $array[$count/2]=rand(1,100);

}
print_r($array);
echo microtime(true) - $starttime;
4

1 に答える 1