>  기사  >  백엔드 개발  >  php7, java8, nodejs5 및 lua5.2의 성능 차이는 무엇입니까?

php7, java8, nodejs5 및 lua5.2의 성능 차이는 무엇입니까?

醉折花枝作酒筹
醉折花枝作酒筹앞으로
2021-05-18 09:27:142041검색

이 기사에서는 php7, java8, nodejs5 및 lua5.2 간의 성능 차이를 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

php7, java8, nodejs5 및 lua5.2의 성능 차이는 무엇입니까?

php7과 java8의 계산 및 문자열 연산 성능을 간략하게 비교합니다.

Machine: 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천만 개의 계산을 실행하고 다음을 실행합니다. 순서대로 명령:

java -jar java8jar

node node5.js

php php7.php

luajit lua5.2.lua

lua lua5.2.lua

결과:

결론: It 컴퓨팅 성능 측면에서 보면 java8 > nodejs5 > php7 > luajit > lua

java8은 php7의 5.2배, nodejs5는 php7의 1.8배, php7은 luajit과 동일합니다.

Lua가 가장 빠른 스크립트라고 말하는 것은 과거의 일입니다. 정적 언어의 컴퓨팅 성능은 확실히 동적 언어보다 훨씬 좋습니다.

집약적인 컴퓨팅의 경우 웹의 성능 병목 현상이 종종 데이터베이스에 있고 IO, nodejs 및 php가 모두 좋은 선택이라는 점을 고려하면 Java가 최선의 선택입니다. 저는 개인적으로 개발이나 배포 측면에서 nodejs보다 편리한 PHP를 좋아합니다.

특별 참고 사항: 함수 aaa(i)에 매개 변수 i가 없으면 nodejs가 가장 빠르고 1000ms 내에 완료되는 것으로 추정됩니다. 많은 사람들이 테스트를 마친 후 nodejs가 Java보다 훨씬 빠르다고 생각합니다.

추천 학습: php 비디오 튜토리얼

위 내용은 php7, java8, nodejs5 및 lua5.2의 성능 차이는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제