gcc와 clang을 모두 지원하는 GNU/Linux 프로젝트를 아는 사람이 있나요?

gcc와 clang을 모두 지원하는 GNU/Linux 프로젝트를 아는 사람이 있나요?

두 개의 컴파일러로 프로그램을 컴파일하고 성능을 관찰하는 데 사용할 수 있는 프로젝트(Linux 모놀리식 커널 제외)를 아는 사람이 있습니까? 바람직하게는 데비안 프로그램/패키지가 너무 크지는 않지만(200MB와 다운로드를 초과하지 마십시오) 현재 누가 왕인지 보여주기에 충분합니다.

답변1

무엇을 요구하시는지 잘 모르겠지만 Slackware는 기본적으로 Gcc와 Clang을 지원하고 설치합니다.

게다가 GNU/Linux 커널 같은 것도 없습니다. GNU 커널(Hurd)과 리눅스 커널(Linux)이 있습니다.

답변2

컴파일러 성능을 비교하고 싶다면 벤치마크가 많이 있습니다.

물론 컴파일러가 "좋은" 벤치마크 결과를 제공하는 것이 유리하므로 컴파일러는 더 나은 벤치마크를 얻기 위해 실제 사용에 해를 끼치는 "최적화"를 추가하는 것으로 알려져 있습니다(아마도 좋은 의도로, 벤치마크는 매우 쉽습니다). , 관련 실제 사용 데이터를 얻기가 어렵습니다. 심지어 벤치마크를 테스트하고 코너를 통과하는 경우에도 마찬가지입니다. 이것은 GCC나 LVM을 비난하는 것이 아닙니다. 단지 소금 한 삽과 비교해 보십시오. 또한 벤치마크는 컴파일/실행할 수 있는 제한된 프로그램 세트이므로 사용 방법이 벤치마크와 크게 다를 경우 결과는 아무 의미가 없습니다.

마지막으로, 응용 프로그램이 광범위하게 실행되는 경우가 아니면(예: 컴퓨터에서 오랫동안 실행되거나 수백 대의 컴퓨터에서 자주 실행되고 성능이 중요함) "가장 빠른 프로그램"을 얻는 것은 전혀 관련이 없습니다. Linux 시스템 관리 명령은 Python으로 작성되는데 Python은 좋은 언어이지만 확실히 속도 기록이 없으며 바이트 컴파일된 Java 또는 .Net으로 작성되는 "정말 유용한" 소프트웨어도 없습니다.당신의극단적인 상황을 제외하고 개발자/문제 해결사로서의 시간은 컴퓨터의 시간보다 훨씬 더 소중합니다. 나는 (a) 신뢰성(내 코드가 충돌하거나 내 코드를 잘못 컴파일하면 정말 화를 낼 것입니다), (b) 표준 준수(아마도 "GCC du jour와 호환되는 버그 및 확장")를 기준으로 컴파일러를 평가합니다. 다른 사람이 개발한 소프트웨어를 컴파일하거나 링크하려는 경우 "표준"), (c) 사용자에게 친숙한 오류 메시지 또는 (d) 컴파일 속도. 생성된 코드의 성능(고려사항이 있는 경우)은 훨씬 나중에 결정됩니다.

관련 정보