gentoo i486-gcc와 i686-gcc의 차이점에 대해서 궁금합니다

antslee602의 이미지

gentoo x86 2008.0 stage3으로 설치를 했는데,
기본 stage3 tarball에 포함된 gcc와 패키지들이 모두 i486-gcc로 컴파일되어있더라구요.

여기저기 뒤져서 make.conf를 수정해서 i686-gcc로 gcc를 업데이트하고
깔려있던 패키지들도 모두 emerge -e world를 통해 i686-gcc로 재컴파일했는데.
이게 또 시간이 무시무시하게 듭니다
- gentoo의 컴파일속도 공포...

고백하자면,
i486-gcc와 i686-gcc의 정확한 차이도 모르고 - 물론 성능상의 이점이 있을꺼라고 생각하지만 - 무작정 컴파일 돌린거죠.

정확한 차이를 알고 싶어요.

okdongil의 이미지

gcc option에 -march option이 있는데 이 option에 setting하는 값이
i486, i686일겁니다.
이것은 CPU Type을 compiler에게 알려 주어
compiler가 해당 CPU에 맞는 최적화된 machine code를
generate하게 해줍니다.

i486에는 없지만 상위 CPU에 있는 instruction중
대표적인 것이 SIMD (Single Instruction Multiple Data)같은 것일 텐데요.

x86은 하위 호환성을 지원하므로
i686 계열 CPU에서 i486 instruction을 수행할 수 있지만,
비싼 돈 주고 산 기계를 제 값만큼 못 쓰는 것 같습니다.
보유하신 CPU의 type을 잘 알아 보신 후
해당 CPU type에 맞게 compile해서 사용하시는 것이 좋을 듯 합니다.

shame2의 이미지

stage3-i686-2008.0.tar.bz2
이걸로 받았으면 되는건뎅..

프비 매니아~

antslee602의 이미지

okdongil님/
답변 감사드립니다.

shanme2님/
헉..그..그런게 있엇군요.

음.. 근데 생각해봐도
i686-gcc라고 해도 CFLAGS옵션인 march가 안 먹혀 잇으니까..
어짜피 다시 emerge -e gcc, emerge -e world 해야 하는 것 아닌가?
는 생각이 드네요...

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.