Page MenuHomeSerpent OS

Make clang great again
Open, HighPublic

Description

Prioritize reducing the time to build packages, with only modest increases in the LLVM/clang build time (at least initially).

  • Compile a performance team
    • Use LLVM as a backend for building team members
  • Update to clang 11 once it's released, supposed to be faster
  • Performance tweaks to clang/llvm
    • Reduce the number linked libs - static libc++/libc++abi/libunwind into libLLVM
      • -Wl,--as-needed to remove from clang binary
    • -mllvm -polly options for performance
    • -DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER as used by most projects extending clang (testsuite is the upstream blocker)
    • LTO (once compiler is faster) and PGO (not initially due to build time)
  • Give build tools a once over to minimize build times
    • autotools - optimize dash/bash
    • cmake
    • make
    • meson - optimize python
    • ninja
  • Integrate benchmarking-tools into boulder to make benchmarking easier (and accessible to more users)
    • General testing for impacts of core flag changes to enable by default

Event Timeline

sunnyflunk triaged this task as High priority.Sep 16 2020, 3:15 AM
sunnyflunk created this task.

For reference, currently seeing my optimized clang on a i5-8259U (probably with turbo disabled even) smoking a 3700X by 20% (per thread as was -j4) via a quick benchmark.

sunnyflunk updated the task description. (Show Details)Sep 16 2020, 11:30 AM
sunnyflunk updated the task description. (Show Details)Sat, Sep 26, 9:22 AM
sunnyflunk updated the task description. (Show Details)Wed, Oct 14, 1:34 AM