C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
분야별 포럼
C++빌더
델파이
파이어몽키
C/C++
프리파스칼
파이어버드
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

자유게시판
세상 살아가는 이야기들을 나누는 사랑방입니다.
[23838] C++Builder XE3 64bit 성능
김상구.패패루 [peperu] 6679 읽음    2013-03-28 16:33
요즘 C++Builder XE3의 LLVM기반 64bit 컴파일러의 성능(실행)을 좀 체크해 보고 있습니다.

마침 카메라 영상의 비네팅 보정 알고리즘을 만들고 있는 것이 있어서 VC++ 2010과 실행성능을 대충 비교해 보았는데요,
결론은 VC++ 2010대비
BCC32: 실수 연산 속도 안습
BCC64: 실수 연산 속도 굿!

비네팅 보정은 두가지 버전으로 준비했습니다.
1. 속도 최적화를 위해 인텐시티 값을 양자화 하여 이중 룩업테이블로 구현하여 적용시에는 단순히 룩업 테이블 연산만 하는 버전
2. 인텐시티 값을 실수 형태의 단일 룩업 테이블로 구성하고 적용시에 실수 연산과 클램핑을 하는 버전
당연히 2가 오래 걸립니다.

인텔 i7 2.0GHz CPU에서 테스트했고 640x480 이미지에 대해 30번씩 수행해서 평균 소요시간을 멀티미디어 타이머로 측정하는 방법을 사용했습니다. 싱글코어용으로 만들어진 코드입니다.

BCC32:
1번: 1.9msec, 2번: 32msec
VC 2010 (32bit):
1번 0.97msec, 2번: 4.5msec
BCC64:
1번: 1.7msec, 2번: 3.3msec

VC++ 가 2005 이후로 최적화가 매우 좋아졌다는 말만 듣고 실제로 체감하지는 못했는데 확실히 좋아진게 맞군요. 예전엔 분명 빌더나 VC나 큰 차이가 나지 않았거든요.
BCC32는 XE로도 테스트 해 봤지만 XE3나 XE나 별 차이 없습니다.
32bit 어플을 32bit OS와 64bit OS에서 동작 시킨 결과도 별 차이 없습니다.

VC 64bit는 귀차니즘 발동으로 테스트 하지 않았습니다. 제가 만든 코드가 uint8, float만 사용하고 있기 때문에 32bit나 별 차이 없을 것 같긴 한데...

기존 프로젝트를 64bit로 컴파일할 때 큰 문제는 보이지 않습니다만 여전히 SSE, MMX 사용을 위한 C헤더는 BCC64에도 포함되어 있지 않습니다. 퀄리티 센트럴에 이슈가 올라와 있긴 한데 특별한 이유도 없이 그냥 Resolved 처리가 되어 있네요.

엠바카데로에서 64bit 컴파일러 지원을 빨리 안정화, 마무리 하고 32bit 컴파일러도 좀 신경을 써 주면 좋겠습니다.
Lyn [tohnokanna]   2013-03-28 16:43 X
뭐 32bit 컴파일러 신경쓴대봐야 bcc 버리고 clang 으로 가는걸로 땡 칠듯 싶은데요 (....)
김상구.패패루 [peperu]   2013-03-28 20:32 X
엠바카데로가 32bit 컴파일러도 clang으로 가되, clang 및 LLVM 개발에 적극적으로 참여할 수 있으면 그것도 나쁘지 않은 시나리오일 듯...
Lyn [tohnokanna]   2013-03-28 21:37 X
뭐... 지들 컴파일러도 제대로 못만들어서 다른 프로젝트 들고 왔는데 거기에 얼마나 기여할 수 있을지는... 솔직히 의문입니다.
김상구.패패루 [peperu]   2013-03-29 01:47 X
현재 LLVM/Clang은 3.2버전이 최종 릴리즈이고 3.3이 개발중이죠.
한동안 LLVM/Clang의 성능 향상이 주춤한 느낌이었는데 이번 3.3은 상당한 성능 향상이 있는 모양입니다. 아직 GCC 최신 버전과의 벤치마킹 결과는 나오지 않은 상태이지만 아래 링크를 보시면 3.2 대비 얼마나 빨라졌는지 한 눈에 들어오네요.
http://www.phoronix.com/scan.php?page=news_item&px=MTMzNjE
남병철.레조 [lezo]   2013-03-29 10:06 X
과거 호환성을 위해 bcc32는 유지보수만 하고 Clang으로 바짝 쪼아서 나갔으면 좋겠네요.
VCL, FireMonkey 다 좋은 프레임 웍인데... C++Builder 용 3rd-party 라이브러리는 안나오나요?
Clang이 나왔으니 그에 맞는 프레임웍이 나와서 같이 발전해 가면 좋을텐데... 흠...

+ -

관련 글 리스트
23838 C++Builder XE3 64bit 성능 김상구.패패루 6679 2013/03/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.