디스커버리

distcc
디스커버리
원저작자마틴 풀
개발자퍼거스 헨더슨
안정된 릴리스
3.3[1] / 2018년 3월 3일, 4년 전(2018-03-03)[2]
저장소
기입처C, C++, Python
운영 체제크로스 플랫폼
유형컴파일러
면허증.GNU 일반 공중 라이선스
웹 사이트distcc.github을 클릭합니다.이오

소프트웨어 개발에서 distcc는 컴퓨터 네트워크를 통한 분산 컴퓨팅을 사용하여 소스 코드 컴파일 속도를 높이는 도구입니다.올바른 구성을 사용하면 distcc를 통해 프로젝트의 컴파일 [3]시간을 대폭 단축할 수 있습니다.

인텔 C++ 컴파일러 및 Sun Microsystems의 Sun Studio 컴파일러 [4]스위트와의 호환성은 다르지만 C 프로그래밍 언어(및 그 파생 모델인 C++나 Objective-C)와 연계하여 GCC를 백엔드로 사용하도록 설계되어 있습니다.GNU General Public License 조건에 따라 배포되는 distcc는 무료 소프트웨어입니다.

설계.

distcc는 다른 컴퓨터에서 사용되지 않는 처리 능력을 이용하여 컴파일 속도를 높이도록 설계되었습니다.distcc가 설치된 머신은 네트워크를 통해 컴파일되는 코드를 distccd 데몬과 호환 컴파일러가 [5]설치된 컴퓨터에 전송할 수 있다.

distcc는 컴파일러의 에이전트로서 기능합니다.distcc 데몬은 참여하는 각 머신에서 실행해야 합니다.발신기지 머신은, 헤더 파일을 처리하기 위해서 프리프로세서를 기동해, 디렉티브를 전처리합니다(예를 들면,#ifdef및 소스 파일을 암호화되지 않았거나 SSH를 사용하여 TCP를 통해 사전 처리된 소스를 네트워크를 통해 다른 머신으로 전송합니다.리모트 머신은 로컬 의존관계(라이브러리, 헤더 파일 또는 매크로 정의 등)가 없는 소스 파일을 오브젝트 파일에 컴파일하여 더 [6]컴파일 할 수 있도록 원래 머신으로 되돌립니다.

distcc 버전3 에서는 포함된 헤더파일이 리모트머신에 송신되는 모드(펌프모드라고 불립니다)가 지원되므로 전처리도 분산됩니다.

관련 소프트웨어

distcc는 4.3 이전 버전의 Apple Xcode 개발 스위트에서 분산 빌드를 위한 옵션이었지만 제거되었습니다.

고마

Goma는 크롬을 컴파일할 때 distcc와 ccache를 대체하기 위해 구글에서 만든 유사한 도구입니다.

카체

ccache는 동일한 입력 소스 파일에서 출력을 캐싱하여 컴파일 시간을 단축하는 또 다른 도구입니다.ccache는 distcc를 백엔드로 사용할 수도 있습니다.CCACHE_PREFIX 환경변수를 사용하여 아직 캐시되지 않은 경우 분산 컴파일을 제공합니다.

아이스크림

아이스크림은 SUSE에 의해 distcc를 기반으로 만들어졌다.distcc와 마찬가지로 아이스크림은 빌드에서 컴파일 작업을 가져와 원격 머신 간에 분산하여 병렬 빌드를 허용합니다.그러나 distcc와 달리 아이스크림은 컴파일 작업을 가장 빠른 프리 [7]서버로 동적으로 스케줄링하는 중앙 서버를 사용합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Releases". Retrieved 26 April 2018 – via GitHub.
  2. ^ "distcc/NEWS at master". Retrieved 26 April 2018.
  3. ^ Laurence Bonney (2004-07-22). "Reduce compile time with distcc". IBM. Retrieved 2011-08-24.
  4. ^ Martin Pool (2007-02-23). "distcc frequently asked questions". Distcc.googlecode.com. Archived from the original on 2009-09-07. Retrieved 2009-10-19.
  5. ^ Daniel Robbins (2004-02-01). "Distcc & Distributed Computing". Dr.Dobb's. Retrieved 2011-08-24.
  6. ^ V. L. Simpson (October 2004). "Speed Compiling with Distcc". linuxgazette.net. Retrieved 2011-08-25.
  7. ^ icecream: Distributed compiler with a central scheduler to share build load, icecc, 2017-12-27, retrieved 2017-12-27

외부 링크