llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.9k stars 11.51k forks source link

GLEW build performance #24082

Open llvmbot opened 9 years ago

llvmbot commented 9 years ago
Bugzilla Link 23708
Version 3.6
OS Linux
Reporter LLVM Bugzilla Contributor
CC @chandlerc

Extended Description

Building GLEW with clang takes 50x longer than building GLEW with GCC.

With clang: make 853.40s user 2.66s system 99% cpu 14:18.96 total With gcc: make 28.35s user 0.47s system 99% cpu 28.987 total

Steps to reproduce:

git clone https://github.com/nigels-com/glew cd glew make extensions mkdir BUILD cd BUILD cmake -DCMAKE_CXX_COMPILER=$(which clang++) -DCMAKE_C_COMPILER=$(which clang) -DBUILD_UTILS=OFF ../build/cmake time make

System:

llvmbot commented 7 years ago

There is progress:

clang version 3.5.0 (tags/RELEASE_350/final); Target: x86_64-unknown-linux-gnu real 0m20.056s user 0m19.746s sys 0m0.160s

clang version 3.9.0 (tags/RELEASE_390/final);Target: x86_64-unknown-linux-gnu real 0m48.282s user 0m48.142s sys 0m0.106s

llvmbot commented 8 years ago

Apple LLVM version 7.0.0 (clang-700.0.53): real 27m16.023s user 25m30.471s sys 0m21.402s

Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn): real 0m25.971s user 0m25.409s sys 0m0.463s

llvmbot commented 9 years ago

ir testcase opt -time-passes t5.bc -o t6.bc -jump-threading

show jump threading taking 188.8160 seconds.

llvmbot commented 9 years ago

testcase gcc -c -O3 takes 0m4.188s on this file.

clang takes minutes.

llvmbot commented 9 years ago

Some benchmarks with other clang versions: (all with -O3)

Clang trunk: make 1544.49s user 2.25s system 99% cpu 25:49.23 total Clang 3.6.1: make 815.09s user 1.82s system 99% cpu 13:37.94 total (2nd run) Clang 3.5.2: make 190.69s user 0.94s system 99% cpu 3:12.46 total Clang 3.4.2: make 197.81s user 1.52s system 99% cpu 3:19.68 total

llvmbot commented 9 years ago

This issue only occurs when building with -O2 or -O3.