2011/12/14

Perl, Python, Ruby, PHP, C, C++, Lua, tcl, javascript, Java 성능비교

각종언어에 대한 벤치마크 비교

포커스가 문자열을 얼마나 빠르고 메모리 효율적으로 처리하느냐에 맞춰져 있는데..

이렇게 비교를 한 이유가 대부분의 현대적 어플리케이션의 주작업은 문자열을 다루는 것이며
수치계산은 하드웨어 의존적인 면이 있고 컴파일된 native한 코드가 아닌경우 어떤 언어라도
많은 계산을 하기에는 충분히 성능이 나지 않기 때문에 빠른 계산이 필요하다면 컴파일된
native한 코드를 쓰던지 써드파티 수치계산 라이브러리를 각 언어에 붙여 쓰게 되는데
그렇게 하면 언어간 비교가 아니라 수치계산라이브러리의 성능비교가 되기 때문에
의미가 없다.... 뭐 이렇다고 함

성능비교뿐만 아니라 끝부분에 각 언어에 대한 비평도 읽어볼만 함..

http://onlyjob.blogspot.com/2011/03/perl5-python-ruby-php-c-c-lua-tcl.html

속도에서는 스크립트 언어인 Perl이 C/C++보다 더 빠르다는게 신기..
Java는 의외로 실망스런수준이고(아마도 Buffered String을 쓰면 그나마 나아지리라 생각하지만....)

* 제일 빠른 Perl속도를 1로 했을때 언어별 상대적 속도 비교표(숫자가 작을수록 빠름)

Line size KibPerl5PHPRubyPythonC++ (g++)C (gcc)Javascript (V8)Javascript (sm)Python3tclLuaJava (openJDK)Java (Sun)Java (gcj)
Average:13.845.215.593.891.233.2319.6613.9221.3534.3631.1631.12247.32

댓글 3개:

  1. 윈도우에서 C++과 딸기펄 돌려봤는데 C++이 4배쯤 빠른걸로 나옵니다. 원문 리플에도 C가 훨씬 빠르다고 단 사람이 있는걸 보면 테스트를 한 사람이 뭔가 잘못 했을 것 같네요.

    답글삭제
  2. @조프 저도 나름대로 테스트 해봤는데 http://advent.perl.kr/2011/2011-12-24.html#comment-393710883 에 결과를 남겨놨습니다.

    답글삭제
  3. 파이선은 PyPy결과가 궁금하네요... ^^

    답글삭제