컴파일 속도를 빠르게 하기 위한 주변 환경은?

taeyeung의 이미지

프로그램을 풀 컴파일을 한 번 하면 15분에서 20분이 걸립니다.

여기 오시는 분들 중에서 뭔가 색다르게 환경을 꾸며서 개발하시는 분이 계시면

얘기를 들어 보고 싶네요

돈이 많으면 메모리를 램 드라이브로 만들어 놓고서 사용하면 빠르지 않을까

하는 상상을 해 봅니다. 경제적이면서 컴파일 속도를 빠르게 하는 좋은 방법은

어떤게 있을까요?

nanosec의 이미지

리눅스 서버관리 hack 100 책의 내용중에 이런 내용이 나옵니다.

Quote:
만일 적당한 양의 RAM을 갖춘 다중 프로세스 시스템을 운영한다면, 프로그램 코드를 빌드할 때 make를 병렬로 수행 시킴으로써 컴파일 시간을 상당히 단축 시킬수 있다" .. 중략
make로 빌드할 때 한번에 여러 자식 프로세스가 실행되도록 할려면 -j 스위치를 사용한다. *역주) -j는 job의 약자로 동시에 실행할 프로세스 또는 작업의개수를 지정할 때 쓴다. -j 다음에 숫자를 쓰지 않으면 동시에 실행할 프로세스의 개수에 제한이 없다.
make -j4; make -j4 modules

이 방법은 다중 프로세스 상태라는 제약이 걸리는군요.

0x2B | ~0x2B
- Hamlet

maddie의 이미지

들은 이야기로는 하드를 스카시를 사용할 경우 같은 속도의 IDE하드에 비해 상당히 빨라진다고 하더군요.<-제가 듣기로는 이게 제일 많은 영향을 주었다고 하는데 몰겠습니다. 으흐..

방법이라고 머 있겠는가 싶습니다. gcc의 경우 옵티마이징 플래그만 잘줘도 컴파일 시간을 단축할 수 있다고 들었습니다.

아무리 머라 그래도 강한 시퓨가 짱임돠 ㅡ.ㅡ
크루소 600하고 팬티 600하고 컴파일 시간이 거의 2배정도 차이납니다.(크루소는 절전 기능 때문에 클럭이 300까지 떨어집니다. 저는 풀파워로 세팅 후 테스트 해보았습니다.)

머..답이 없는 글이 되었네요 ㅡ.ㅡ;;;;;

힘없는자의 슬픔

xyhan의 이미지

제 컴이 꼬라서 가끔 사용 하는 방법이(좀 사용한지가 오래되서 가물 가물..)

nice --20 make

.. make(컴파일) 의 우선순위를 최상위로 올린다는 뜻이죠..
일반적인 프로그램의 우선순위는 0 으로 정해 져 있고..

nice 나 renice 로-20 +20 까지 설정 할수있습니다....
예전에 RedHat 쪽 컴에서 X의 우선순위가 -10으로 돌아가고 있는걸
본적이 있는데.. 다 그런건 아니더군요..

-20으로 컴파일 하면 컴파일 끝날때 까지는 제 컴에서
X 윈도우의 사용은 거이 불가능 합니다..
Cpu 500 에 190M 밖에 안되는 거라서요.. ^^

============================================================

선한 인간이냐 악한 인간이냐는 그사람의 의지에 달렸다. -에픽테토스-
의지 노력 기다림은 성공의 주춧돌이다. -파스퇴르-

============================================================

jj의 이미지

얼마전에 신성국씨가 언급하셨던 http://ccache.samba.org/ 를 참고하시는것도 좋을것 같네요.

--
Life is short. damn short...

warpdory의 이미지

HDD : scsi 로 바꾸세요. IDE 는 CPU 에서 하드디스크를 제어해야 하므로 적지 않은 시간을 입출력으로 낭비(?)하게 됩니다. scsi 는 일단 CPU 에서 '파일 읽어' '파일 써' 이런 거 명령 내리면 알아서 하게 되므로 CPU 부하가 적어지므로 속도가 빠르게 됩니다.

RAM : 무조건 늘리셔야죠 뭐..

CPU : 혹시라도 셀러론 계열(P3 쪽의 튜얼 어쩌구 하는 셀러론이라든가 P4 셀러론이든 ...)을 쓰신다면 다른 걸 쓰세요. 셀러론 계열은 캐시가 작아서 일반적인 OA 프로그램 돌릴때라든가 할 때는 쓸만하겠지만, 컴파일, 수치연산, 게임 등에서는 쥐약입니다. 클럭속도만 빠르다고 좋은 건 아니거든요.

일단 하드웨어는 이렇고 ... 운영체제에서도 캐시 배분이라든가 하는 걸 잘 해주면 좋겠죠.


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

iamslash의 이미지

분산 컴파일 프로젝트입니다.
visual c++ 용도 있던데(이것은 상용입니다.)
친구녀석이 훨씬 빠르다고 하더군요

http://distcc.samba.org/

andysheep의 이미지

샐래론 450 두개로 SMP 시스템 꾸며서 사용하고 있습니다.
소스 컴파일 할때 SMP가 단인 CPU 시스템보다 훨씬 빠르군요.

SMP 시스템에서 make -j # 사용하고
램디스크 이용해 소스를 램에서 직접 접근하게 하면 커널 컴파일 시간을 많이 절약할 겁니다.

Devuan 1.0 (Debian without systemd)
amd64 station: AMD FX(tm)-6100 Six-Core Processor, 8 GB memory, 1 TB HDD
amd64 laptop: HP Touchsmart

글쇠판: 세벌 최종식, 콜맥 (Colemak)

ganadist의 이미지

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러