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

醉折花枝作酒筹
Libérer: 2023-02-17 22:22:02
avant
2129 Les gens l'ont consulté

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);
}
?>
Copier après la connexion

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);
    }
}
Copier après la connexion

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();
    }
Copier après la connexion

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")
Copier après la connexion

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal