Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist der Leistungsunterschied zwischen PHP7, Java8, NodeJS5 und Lua5.2?

Was ist der Leistungsunterschied zwischen PHP7, Java8, NodeJS5 und Lua5.2?

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-05-18 09:27:141954Durchsuche

Dieser Artikel stellt Ihnen die Leistungsunterschiede zwischen PHP7, Java8, NodeJS5 und Lua5.2 vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Was ist der Leistungsunterschied zwischen PHP7, Java8, NodeJS5 und Lua5.2?

Ein kurzer Vergleich der Berechnungs- und String-Operationsleistung von PHP7 und Java8.

Maschine: osx 10.10 intel corei5 4GB

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")

Ausführen 0 Millionen Berechnungen und führen Sie Folgendes aus nacheinander Befehl:

java -jar java8jar

node node5.js

php php7.php

luajit lua5.2.lua

lua lua5.2.lua

Ergebnis:

Fazit: Es Daraus ist ersichtlich, dass Java8 > Nodejs5 > Luajit >

Zu sagen, dass Lua das schnellste Skript ist, gehört der Vergangenheit an. Die Rechenleistung statischer Sprachen ist definitiv viel besser als die dynamischer Sprachen.

Für intensives Rechnen ist Java die beste Wahl; wenn man bedenkt, dass der Leistungsengpass des Webs oft in der Datenbank liegt und IO, NodeJS und PHP beide eine gute Wahl sind. Ich persönlich mag PHP, das in Bezug auf Entwicklung und Bereitstellung praktischer ist als NodeJS.

Besonderer Hinweis: Wenn die Funktion aaa(i) keinen Parameter i enthält, ist nodejs am schnellsten und wird in 1000 ms abgeschlossen. Es wird geschätzt, dass nodejs die gleichen Ausführungsergebnisse zwischenspeichert. Viele Leute haben diesen Fehler gemacht. Nach dem Test denken sie, dass NodeJS viel schneller ist als Java.

Empfohlenes Lernen:

php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist der Leistungsunterschied zwischen PHP7, Java8, NodeJS5 und Lua5.2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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