bit_blast(cxx_compile_time_optimization): initial stuff
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 168 KiB |
After Width: | Height: | Size: 67 KiB |
After Width: | Height: | Size: 596 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 319 KiB |
After Width: | Height: | Size: 95 KiB |
|
@ -0,0 +1,64 @@
|
|||
---
|
||||
title: BitBlast | Decrease Your C++ Compilation Times!
|
||||
---
|
||||
|
||||
# Hook <20s
|
||||
Are you tired of waiting for your project to compile?
|
||||
Have you ever wished that it could go just a little bit faster?
|
||||
Does everything takes too long?
|
||||
In this video I'll show you 13 ways to significantly decrease your compilation times!
|
||||
|
||||
We'll start by covering the low-hanging fruits, that is--- very simple changes with considerable results.
|
||||
Afterwards, we'll go from least to most intrusive code changes for cutting down compilation times.
|
||||
And we'll wrap up by discussing most cost-effective options in case you wanna blow some money away.
|
||||
|
||||
Now, the low-hanging fruits...
|
||||
|
||||
## Modern Linker
|
||||
or Mold Linker
|
||||
|
||||
As you can see, mold uses all available cores throughout its execution and finishes quickly. In contrast, lld fails to utilize available cores most of the time.
|
||||
|
||||
On a side-note, this project could you financial support...
|
||||
The next step is to replace Make with
|
||||
## Ninja
|
||||
no not this guy, but the build tool.
|
||||
|
||||
CCache
|
||||
|
||||
Upgrade Compilers
|
||||
|
||||
Next item is... disabling your
|
||||
Anti Virus
|
||||
|
||||
Ensure Parallel Build
|
||||
|
||||
-- Code Changes -- (from least to most intrusive)
|
||||
Minimize Includes
|
||||
|
||||
Forward Declaration
|
||||
|
||||
Precompiled Headers
|
||||
|
||||
Unity Builds
|
||||
|
||||
Modules
|
||||
|
||||
-- Shut Up and Take My Money --
|
||||
Upgrade Hardware
|
||||
|
||||
Build Over Network
|
||||
|
||||
|
||||
# Sources
|
||||
|
||||
## Repositories
|
||||
Mold: https://github.com/rui314/mold
|
||||
Ninja: https://github.com/ninja-build/ninja
|
||||
Ccache: https://github.com/ccache/ccache
|
||||
|
||||
## Benchmarks
|
||||
Ninja: https://david.rothlis.net/ninja-benchmark/
|
||||
|
||||
## Articles / Forums
|
||||
https://www.reddit.com/r/cpp/comments/hj66pd/c_is_too_slow_to_compile_can_you_share_all_your/
|
After Width: | Height: | Size: 299 KiB |
After Width: | Height: | Size: 14 KiB |