| [ CnUnix ] in KIDS 글 쓴 이(By): flexable (플__) 날 짜 (Date): 2002년 9월 30일 월요일 오전 04시 47분 48초 제 목(Title): Re: C 언어에서...? > Compiler를 믿으라고 몇번이나 얘기해도 이상하게 반복적으로 비슷한 > 질문을 하시는 분들이 이 보드에 많네요. ;-0 음, 제 얘기도 "질문"으로 분류하셨나요? 저는 일종의 답으로 커멘트를 달았던 건데.. 첫 포스팅만 질문이었고 나머지는 다 (맞던 틀리던) 답 이었던 걸로 알고 있는데 말이죠. 어쨌거나 다시 한 번 정리하자면: -- Strength reduction은 보통의 경우 성능 향상에 실제로 도움이 되는 경우가 많습니다. 고로 어지간한 컴파일러에서 기본적으로 제공하지요. -- gcc의 경우 제가 직접 체크를 안 해봐서 strength reduction을 예를 들어 -O0 레벨에서도 하는지는 모르겠다는 얘기였구요. 뭐 컴파일러 매뉴얼이나 생성된 어셈블리 코드를 보면 금방 알 수 있겠죠. -- 펜티엄 4의 경우 strength reduction이 반드시 좋은 게 아닐 수도 있다는 곁다리 얘기를 하나 추가했지요. 컴파일러가 만약 P6용 옵티미제이션을 한다면 오히려 안 좋을 수도 있다는 예로 한 번 들었죠. -- 저도 기본적으로 "컴파일러를 믿으라"는 주의자입니다. 믿는 건 좋은데 성능이 정말 문제가 되는 경우에 컴파일러 옵션 잘 체크 해서 어느 정도 성능 향상을 얻을 수 있는 건 사실이라는 거죠. > gcc가 성능이 안 좋은지는 잘 모르겠는데, > 빠르기+Optimization은 둘째가라면 서러울 컴파일러일텐데요. > 적어도 졸라리스/리눅스에서는 제일 빠릅니다. 빠른걸 위해서 하도 꼼수가 > 많이 숨어있어서 성능(?)이 그저 그럴수는 있겠습니다만. 일단 제가 "성능"이라고 말한 건 (당연한 얘기지만 헷갈리시는 것 같으니 확실히 하자면) 컴파일 속도가 아니라 컴파일된 바이너리의 속도였구요.. gcc가 옵티미제이션에서 둘째 가라면 서러울 컴파일러라고 믿고 계시다니 소프트웨어 개발이 생업이라면 그 생업에 지장이 좀 있으실듯. (하긴 리넉스 커널이 최고라고 믿고 살아가는 사람들도 있으니까 거기에 비하면 아무 것도 아니겠습니다만) |