Maison >développement back-end >PHP7 >Quelle est la différence de performances entre php7, java8, nodejs5 et lua5.2

Quelle est la différence de performances entre php7, java8, nodejs5 et lua5.2

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-05-18 09:27:142090parcourir

Cet article vous présentera les différences de performances entre php7, java8, nodejs5 et lua5.2. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Quelle est la différence de performances entre php7, java8, nodejs5 et lua5.2

Comparez brièvement les performances de calcul et d'opération de chaîne de php7 et java8.

Machine : osx 10.10 intel corei5 4 Go

php7.php :

<?php

$t1 = microtime(true);

for($i=0; $i<10000000; $i++){
    aaa($i);
}

$t2 = microtime(true);

echo &#39;php time:&#39; . ($t2 - $t1)*1000 . "ms\n";


function aaa($i){
    $a = $i + 1;
    $b = 2.3;
    $s = "abcdefkkbghisdfdfdsfds";

    if($a > $b){
        ++$a;
    }else{
        $b = $b + 1;
    }

    if($a == $b){
        $b = $b + 1;
    }

    $c = $a * $b + $a / $b - pow($a, 2);
    $d = substr($s, 0, strpos($s, &#39;kkb&#39;)) . strval($c);
}
?>

java8.java :

public class Main
{

    public static void main(String[] args)
    {
        long t1 = System.currentTimeMillis();
        
        for(int i=0; i<10000000; i++){
            aaa((float)i);
        }
        
        long t2 = System.currentTimeMillis();
        
        System.out.println("java time:" + String.valueOf(t2 - t1) + "ms");
        
    }
    
    static void aaa(float i){
        float a = i + 1;
        float b = 2.3f;
        String s = "abcdefkkbghisdfdfdsfds";
        
        if(a > b){
            ++a;
        }else{
            b = b + 1;
        }

        if(a == b){
            b = b + 1;
        }
        
        float c = (float) (a * b  + a / b - Math.pow(a, 2));
        
        String d = s.substring(0, s.indexOf("kkb")) + String.valueOf(c);
    }
}

node5.js :

	    var t1 = (new Date()).getTime();

    for(var i=0; i<10000000; i++){
        aaa(i);
    }
    
    var t2 = (new Date()).getTime();
    
    console.log("nodejs time:" + (t2 - t1) + "ms");
        
    
    function aaa(i){
        var a = i + 1;
        var b = 2.3;
        var s = "abcdefkkbghisdfdfdsfds";

        if(a > b){
            ++a;
        }else{
            b = b + 1;
        }

        if(a == b){
            b = b + 1;
        }

        var c = a  * b + a / b - Math.pow(a, 2);
        
        var d = s.substring(0, s.indexOf("kkb")) + c.toString();
    }

lua5.2.lua

function aaa(i)
	 a = i + 1
	 b = 2.3
	 s = "abcdefkkbghisdfdfdsfds"

	if(a > b) then
		a = a+1
	else
		b = b + 1
	end

	if(a == b) then
		b = b + 1
	end

	 c = a  * b + a / b - math.pow(a, 2)
	 d = string.sub(s, 0, string.find(s, "kkb")) .. tostring(c)
end


t1 = os.clock()

for i=0, 10000000, 1 do
	aaa(i)
end

 t2 = os.clock()

print("lua time:" .. (t2 - t1) * 1000 .. "ms")

effectue respectivement 10 millions de calculs et exécute les commandes suivantes dans l'ordre :

java -jar java8jar

node node5.js

php php7.php

luajit lua5.2.lua

lua lua5.2.lua

Résultat :

Conclusion : on peut voir qu'en termes de performances informatiques, java8 > nodejs5 > php7 > lua

java8 est 5,2 fois supérieure à celle de php7, nodejs5 est 1,8 fois supérieure. de php7, php7 et luajit tout à fait.

C'est du passé de dire que Lua est le script le plus rapide. Les performances informatiques des langages statiques sont nettement meilleures que celles des langages dynamiques.

Pour le calcul intensif, Java est le meilleur choix ; étant donné que le goulot d'étranglement des performances Web réside souvent dans la base de données et que les IO, nodejs et php sont tous deux de bons choix. Personnellement, j'aime PHP, qui est plus pratique que nodejs en termes de développement et de déploiement.

Remarque spéciale : s'il n'y a pas de paramètre i dans la fonction aaa(i), alors nodejs est le plus rapide et se termine en 1000 ms. On estime que nodejs met en cache les mêmes résultats d'exécution. Beaucoup de gens ont commis cette erreur. Après les tests, ils pensent que nodejs est beaucoup plus rapide que Java.

Apprentissage recommandé : Tutoriel vidéo php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer