clang을 빌드할 때 LLVM_TARGETS_TO_BUILD 옵션으로 타겟을 지정할 수 있다. 기본값은 전부 활성화된 컴파일러를 빌드한다. 저기에 들어갈 수 있는 대상은 현재 AArch64,AMDGPU,ARM,AVR,BPF,Hexagon,Lanai,LoongArch,Mips,MSP430,NVPTX,PowerPC,RISCV,Sparc,SystemZ,VE,WebAssembly,X86,XCore 총 19개라고 한다. (X86, RISCV는 32비트. 64비트 모두 포함하는데 ARM은 둘이 분리되어있네)
빌드를 어떻게 하는지는 https://clang.llvm.org/get_started.html 옵션은 https://llvm.org/docs/CMake.html 이걸 참고
빌드 환경:
CPU: AMD Ryzen 9 5900X (12코어 24스레드)
Linux Mint 22.04, GCC 컴파일러, -j24 옵션
대충 이런 식으로 빌드가 시작하고 끝나는 시간을 기록했다
cd build
rm -rf *
cmake -DLLVM_ENABLE_PROJECTS=clang -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles" -DLLVM_TARGETS_TO_BUILD="X86" ../llvm
date +%T >>../time.txt
make -j24
date +%T >>../time.txt
| 옵션 | 시간 |
|---|---|
all |
18분 15초 |
X86 |
13분 24초 |
RISCV |
13분 31초 |
AArch64 |
13분 29초 |
RISCV;AArch64 |
13분 57초 |
AMDGPU |
14분 50초 |
MIPS |
13분 20초 |
전부 활성화하면 1개만 활성화 했을 때에 비해 1.3배 정도 오래 걸렸는데 빌드하는 동안 CPU 점유율이 거의 대부분 100%를 유지하는 것으로 봐서는 다른 컴퓨터에서도 비슷한 정도로 차이날 것 같다.
Reply by Email