ホームページ  >  記事  >  バックエンド開発  >  php7、java8、nodejs5、lua5.2のパフォーマンスの違いは何ですか

php7、java8、nodejs5、lua5.2のパフォーマンスの違いは何ですか

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-05-18 09:27:141954ブラウズ

この記事では、php7、java8、nodejs5、lua5.2 のパフォーマンスの違いを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

php7、java8、nodejs5、lua5.2のパフォーマンスの違いは何ですか

php7 と java8 の計算と文字列操作のパフォーマンスを簡単に比較してみましょう。

マシン: 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")

それぞれ 1,000 万回の計算を実行し、次のコマンドを順番に実行します。

java -jar java8jar

node node5.js

php php7.php

luajit lua5.2.lua

lua lua5.2.lua

結果:

結論: コンピューティング パフォーマンスの点では、java8 > nodejs5 > php7 > luajit > lua

java8 は php7 の 5.2 倍、nodejs5 は 1.8 倍であることがわかります。 php7、php7、および luajit のかなり。

Lua が最速のスクリプトであると言うのは過去のことです。静的言語のコンピューティング パフォーマンスは、動的言語よりも明らかに優れています。

集中的なコンピューティングの場合は、Java が最適な選択です。Web パフォーマンスのボトルネックがデータベースと IO にあることが多いことを考慮すると、nodejs と php は両方とも適切な選択です。私は個人的には、開発とデプロイの点で、nodejs よりも便利な PHP が好きです。

特記事項: 関数 aaa(i) にパラメーター i がない場合、nodejs が最も速く、1000 ミリ秒で完了します。nodejs は同じ実行結果をキャッシュすると推定されます。多くの人がこの間違いを犯しており、テスト後、nodejs の方が Java よりもはるかに速いと考えています。

推奨学習: php ビデオ チュートリアル

以上がphp7、java8、nodejs5、lua5.2のパフォーマンスの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。