본문 바로가기

01. operation/i. Theory

gcc? pgcc? 컴파일러 선택

뭐 rpm으로 직접 설치하시는 분들에게는 별로 도움이 안되는 정보입니다.


리눅스의 퍼포먼스와 자신의 컴퓨터가 펜티엄급이다...라는 조건을 갖추고 "난 퍼포먼스 중심의 사나이다"라고 하시는분들만 사용하시면 되겠습니다.(응?) 그리고 하드웨어가 조금 뒷받침이 되어져야 pgcc가 이상없이 돌아가는것으로 알고 있습니다..


(근데 pgcc 최근 버전이 2000년도입니다...뭐야 이거)


일단 pgcc를 다운로드 받아봅시당

http://www.goof.com/pcg/binaries-linux.html


뭐 여적까지 제 포스팅을 봤으면 압축 풀기는 기본으로 아실것이라고 생각이 되어집니다..

(모르시면 빽하세요...pgcc설치전 리눅스 책 한권 읽고 오시길 권장해드립니다)


음...설치할시에 전 prefix로 /usr/local/로 해줬음을 미리 밝혀드립니당..-ㅠ-;


그리고 각종 mysql/apache/php등등을 컴파일 할시에 CC="/usr/local/bin/pgcc" 와 CFLAGS의 세팅 CXX의 세팅등이 필요합니다.


Mysql Configure...<---->

CC="/usr/local/pgcc/bin/pgcc"
CFLAGS="-O6 -mpentiumpro -mstack-align-double -fomit-frame-pointer -march=pentiumpro"
CXX="/usr/local/pgcc/bin/pgcc"
CXXFLAGS="-O6 -mpentiumpro -march=pentiumpro -mstack-align-double -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"


밑에 부분은 어디선가 발취 해온 내용입니다만...정확한 출처는 어딘지 까먹었습니다..(죄송합니다)


#PGCC 컴파일용 최적화 옵션 ( C Shell ):

setenv CC "/usr/local/bin/gcc"
setenv CFLAGS "-O6 -mpentiumpro -mstack-align-double"
setenv CXX "/usr/local/bin/gcc"
setenv CXXFLAGS "-O6 -mpentiumpro -mstack-align-double -felide-constructors -fno-exceptions -fno-rtti"

#GCC 컴파일용 최적화 옵션 ( C Shell ) :
setenv CC "/usr/local/bin/gcc"
setenv CFLAGS "-O6 -mpentiumpro"
setenv CXX "/usr/local/bin/gcc"
setenv CXXFLAGS "-O6 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti"


PGG를 사용하면 퍼포먼스에 영향을 주긴 주는걸로 알고 있습니다. (먼 학원 강사 선생님이 써놓은 글을 보니 그렇다...라고 써 있었습니다) 하지만 64bit체계에 맞춰지지 않았고, HT기술에도 맞는지는 확실히 모르겠습니다. (저도 HT컴퓨터로 할때는 pgcc나 gcc나 퍼포먼스의 차이를 그다지 못느낄정도였습니다)


뭐 결론은 걍 그래서 그렇다구요 (퍽!)은 아니고, 서버가 조금 구형이신분들에게는 유용할수 있는 정보이지 않을까 생각되어 포스팅을 해보았습니다..