본문으로 건너뛰기
  1. Memo/

clang 빌드할 때 활성화한 타겟에 따른 빌드하는데 걸린 시간

·
컴파일러
작성자
hw5e
page.hw5e.cc

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