この記事では、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 'php time:' . ($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, 'kkb')) . 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 サイトの他の関連記事を参照してください。