Heim  >  Artikel  >  Backend-Entwicklung  >  NodeJs- und PHP-Benchmark

NodeJs- und PHP-Benchmark

藏色散人
藏色散人nach vorne
2019-11-13 14:20:222868Durchsuche

Dieser Benchmark-Test dient lediglich dazu, den Zeitverlust von Knoten und PHP bei der Blasensortierung zu messen. Die Grundidee besteht darin, den Durchschnittswert nach jedem Vorgang zu berechnen, der dem Blasensortierungsalgorithmus 100 Mal entnommen wird , und der Testcode wie folgt:

Code

JavaScript:

function sort(arr){
    var n=arr.length; //获取数组的长度,即有n个数在排序
    var temp=null; //定义一个临时变量,交换数据用
    for(var i=0; i<n-1; i++){ //外层循环n-1次
        for(var j=0; j<n-1-i; j++){ //内层每次循环n-1-i次,每次循环完,都能从剩下的数当中找出一个最大的放在n-1-i的位置
            if(arr[j]>arr[j+1]){ //如果a[j]>a[j+1]则交换位置
                temp=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=temp;
            }
        }
    }
    return arr; //返回排好序的数组
}
const array = [49, 38, 65, 97, 76, 13, 27,49, 38, 65, 97, 76, 13, 27];
const startTime = new Date();
for (let i = 0; i <= 99; i++) {
    const arr = sort(array);
}
console.log((new Date() - startTime) / 1000  / 100);

PHP:

function bubble_sort($array)
{
    $count = count($array);
    if ($count <= 0) return false;
    for ($i = 0; $i < $count; $i++) {
        for ($j = $count - 1; $j > $i; $j--) {
            //如果后一个元素小于前一个,则调换位置
            if ($array[$j] < $array[$j - 1]) {
                $tmp = $array[$j];
                $array[$j] = $array[$j - 1];
                $array[$j - 1] = $tmp;
            }
        }
    }
    return $array;
}
$array = [49, 38, 65, 97, 76, 13, 27,49, 38, 65, 97, 76, 13, 27];
$startTime = microtime(true);
for ($i = 0; $i <= 99; $i++) {
    $arr = bubble_sort($array);
}
echo number_format((microtime(true) - $startTime) / 100, 10);

Hinweis: Um PHP5 zu testen, wird der hervorgehobene Syntaxtyp von PHP7 nicht verwendet

Testergebnisse

Wie in der Abbildung gezeigt:

PHP5.6

NodeJs- und PHP-Benchmark

Node7.9:

NodeJs- und PHP-Benchmark

PHP7.1

NodeJs- und PHP-Benchmark

Fazit

Die Ergebnisse der drei Messungen sind:

NodeJs- und PHP-Benchmark

Testmaschine

NodeJs- und PHP-Benchmark

Den Ergebnissen dieses Tests nach zu urteilen, ist PHP7.1 > PHP5.9 >

Das obige ist der detaillierte Inhalt vonNodeJs- und PHP-Benchmark. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen