-
Notifications
You must be signed in to change notification settings - Fork 3.6k
upgrade pinned builds to clang 10 & boost 1.72 #8751
Conversation
I had @emorybarlow run our automated benchmarking suite and it shows a 2% improvement. |
# build clang10 | ||
RUN git clone --single-branch --branch llvmorg-10.0.0 https://github.com/llvm/llvm-project clang10 && \ | ||
mkdir /clang10/build && cd /clang10/build && \ | ||
cmake -G 'Unix Makefiles' -DCMAKE_INSTALL_PREFIX='/usr/local' -DLLVM_ENABLE_PROJECTS='lld;polly;clang;clang-tools-extra;libcxx;libcxxabi;libunwind;compiler-rt' -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_INCLUDE_DOCS=OFF -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release ../llvm && \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to build clang-tools-extra
? Would speed up the build just a tad if we don't.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can try w/o it and see if it works. Originally I was just doing a 1:1 with what was already there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what we would need it for. But if it sped up the build time, it'd still be a small win. But judging off of the tests so far, it looks like building on Mac is having issues?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All the builds were okay (mac issue was something fleet related). So we don't need it... but on the other hand I think the idea was this was a full featured toolchain. Probably okay to just keep it in for this PR as that's how it was previously. We can remove it in the future (even soon).
Change Description
The state DB layout has changed in develop: any post-2.0 release will require users to migrate via a portable snapshot. Might as well take the opportunity to bump our pinned compiler environment.
Upgrade clang from 8.0 to 10.0. Upgrade Boost from 1.71.0 to 1.72.0. Non-optimized replay performance shows a marginal but measurable performance gain. It's nice to have the latest anyways, right?
Also took this opportunity to migrate our clang/llvm clone to the official GitHub monorepo.
This is being left as draft until clang 10.0 final is released, and documentation may need adjustment too.
Consensus Changes
API Changes
Documentation Additions