/Perl대Javaaero님 블로그에서 [2]를 보고 [1]까지 보게 됐는데... "Perl이 4배나 느리게" 나왔다는 [1]의 결과가 뜻밖이어서 주인장도 해 보았습니다.
스트링 생성 정규식 치환 (단위: ms) Java Perl Java Perl 187 27 641 359 188 27 640 361 187 27 625 359 188 28 640 359 187 27 641 356 188 27 625 359 187 27 641 359 188 27 625 359 187 28 641 361 188 28 656 359스트링 생성은 6.8배, 치환은 1.7배 펄이 자바보다 빠르네요? :-D 물론 이건 제 환경에서의 결과이니, 다른 머신 다른 OS 다른 컴파일러/인터프리터 환경에서는 또 다르겠죠. 어쨌거나 이 정도 실험만으로 일반적으로 어느쪽이 얼마만큼 빠르다,느리다라고 말을 할 수는 없다고 생각됩니다. "스트링 생성" 테스트에서는 좀 희한한 결과가 있는데... Perl 쪽에서도 "x"연산자를 사용하지 않고 Java에서처럼 for 루프를 돌면서 "."연산자를 사용하여 매번 스트링을 덧붙이는 방식으로 테스트했더만... Perl에서 "x"연산자를 사용했을때 약 27밀리초 걸리던 것이... for+"." 조합에서는 자그마치 17초 정도가 걸리더군요. -_-;;;;; 도무지 이상해서... 리눅스에 Perl 5.8.3 이 깔린 곳에서 동일한 비교를 해보았습니다. 스트링 생성 정규표현식 치환 Java Perl-x Perl-. Java Perl-x Perl-. 407 79 521 2156 874 766 408 79 534 2170 846 805 407 78 518 2176 788 885 407 79 526 2159 755 761 410 80 522 2162 818 797 408 79 534 2173 826 765 407 78 521 2174 797 887 406 79 534 2166 823 893 406 79 520 2154 843 898 406 79 527 2152 843 782루프와 "."를 사용했을 때는 펄과 자바가 얼추 비슷하게 나오고 있죠. 이건 [1]에서와 결국 같은 결과인데... 어째서 윈도우에서 딸기펄을 썼을 때는 저렇게 느려지는 것인지 모르겠습니다. 딸기펄의 perl 인터프리터 구현에 문제가 있는 것인지... 스트링 생성은 그렇다치고, 치환의 경우는... 이쪽 머신에서 테스트할 때는 펄이 2.5배가량 빠르네요 :-D -- Raymundo 2009-4-26 4:22 am
"."을 사용해서 긴 스트링을 만들때의 속도를 따로 측정해 봤습니다. Perl/StringConcatenationBenchmark -- Raymundo 2009-4-26 6:44 pm
Comments & Trackbacks둘이 싸우는 거야?? perl vs java.. Fight!!-- Zehn02 2009-4-26 4:23 pm
-- 밀리네스 2009-4-30 6:52 pm
로 만들면 아마 펄과 비슷하거나 좀더 빠른 append 가 될거같습니다. -- 밀리네스 2009-5-1 4:51 pm
주인장분류 |
Diary최근 글들
코멘트와 트랙백
옛 글들RSS주요 페이지
이 홈페이지의 인터위키는 다음과 같습니다. GyparkWiki UTF-8 https://gypark.pe.kr/wiki/ |