-
Notifications
You must be signed in to change notification settings - Fork 750
Faster builds (Linux)
Because this library uses cgo in order to communicate with Qt library, compilation is slow. However there are a few options.
Note the output of the following command (on *nix systems):
# On Arch linux
$ which gcc
/usr/sbin/gcc
# On Ubuntu
$ which gcc
/usr/bin/gcc
After installing ccache, you need update your PATH. In ~/.zshrc or ~/.bashrc:
# On Arch
export PATH="/usr/lib/ccache/bin:$PATH"
# On Ubuntu
export PATH="/usr/lib/ccache:$PATH"
Now you should see something like this:
# On Arch linux
$ which gcc
/usr/lib/ccache/bin/gcc
# On Ubuntu
$ which gcc
/usr/lib/ccache/gcc
Now all your compilations will go through ccache and it does its best job to cache the results. You can query its statistics with ccache -s and clear its cache with ccache -C.
Qt is a complex library, therefore there are a lot of objects to be linked. This is one reason why your builds are slow. Fortunately there is an alternative to gnu's linker called Gold Linker, which links way faster than gnu's. It comes in binutils on Linux. In order to use it you need to make move the old ld and make a symbolic link to ld.gold. You can find them in these locations:
/usr/bin/ld
/usr/bin/ld.goldNow your builds should be significantly faster.
https://github.com/rui314/mold
mold -run qtdeploy
Much faster than GNU Gold (from 1 minute 10 sec -> 12 sec flat).