WIP: Improve build time #27

Closed
jabber.developer wants to merge 3 commits from build/multicore into master

Improves CI build times by enabling parallel make jobs across all cores, shallow git clones for dependencies (libstrophe), and configure script caching to skip unchanged fetches. Reduces total build duration without altering core functionality.
Changes

Add -j$(nproc) to make invocations for multithreaded compilation.
Use --depth 1 in git submodule updates for faster dependency pulls.
Enable -C flag in ./configure for caching, avoiding redundant checks on stable builds.

Partially addresses #26

Improves CI build times by enabling parallel make jobs across all cores, shallow git clones for dependencies (libstrophe), and configure script caching to skip unchanged fetches. Reduces total build duration without altering core functionality. Changes Add `-j$(nproc)` to make invocations for multithreaded compilation. Use `--depth 1` in git submodule updates for faster dependency pulls. Enable `-C` flag in `./configure` for caching, avoiding redundant checks on stable builds. Partially addresses #26
jabber.developer added 1 commit 2025-09-02 12:47:47 +00:00
build: Add multithreading to make
All checks were successful
CI / Check spelling (pull_request) Successful in 18s
CI / Check coding style (pull_request) Successful in 31s
CI / Linux (debian) (pull_request) Successful in 11m2s
CI / Linux (arch) (pull_request) Successful in 13m12s
CI / Linux (ubuntu) (pull_request) Successful in 16m3s
8ed922f827
nproc is a standard util that prints amount of available processes.
-j is a flag that specifies how many cores can be utilized by `make` (default is 1)
-j$(nproc) allows to use all the available machine cores, potentially significantly speeding up completion of CI actions
jabber.developer changed title from build: Add multithreading to `make` to Improve build time 2025-09-02 13:01:33 +00:00
admin added 2 commits 2025-09-02 13:10:07 +00:00
`--depth 1` flag ensures that only latest version is loaded (since there is no need to sync full git)
Using local libstrophe version increases speed of fetching
build: add cache to ./configure with -C flag
Some checks failed
CI / Linux (debian) (pull_request) Failing after 7s
CI / Check spelling (pull_request) Successful in 16s
CI / Check coding style (pull_request) Successful in 32s
CI / Linux (ubuntu) (pull_request) Failing after 1m26s
CI / Linux (arch) (pull_request) Has been cancelled
73453eb710
Add the -C flag to ./configure to enable caching, reducing redundant
resource fetching during builds when packages and the machine remain
unchanged. Caching may cause issues only if applied across different machines
or if packages are modified, neither of which is the case during the build.
admin force-pushed build/multicore from 73453eb710 to 3fa96eec18 2025-09-02 13:16:16 +00:00 Compare
admin force-pushed build/multicore from 3fa96eec18 to a57a19373d 2025-09-02 13:21:26 +00:00 Compare
admin force-pushed build/multicore from a57a19373d to 2534247aee 2025-09-02 13:28:17 +00:00 Compare
admin force-pushed build/multicore from 2534247aee to 14a19c38b2 2025-09-02 13:32:29 +00:00 Compare
jabber.developer changed title from Improve build time to WIP: Improve build time 2025-09-02 18:44:08 +00:00
jabber.developer added the
Kind/Enhancement
label 2025-09-10 13:52:07 +00:00
jabber.developer added 1 commit 2025-09-16 22:33:52 +00:00
Merge branch 'master' into build/multicore
All checks were successful
CI / Check spelling (pull_request) Successful in 21s
CI / Test C API Documentation Generation (pull_request) Successful in 26s
CI / Check coding style (pull_request) Successful in 35s
CI / Test Python API Documentation Generation (pull_request) Successful in 27s
CI / Linux (ubuntu) (pull_request) Successful in 15m24s
CI / Linux (debian) (pull_request) Successful in 15m38s
CI / Linux (arch) (pull_request) Successful in 18m26s
8877e1eed7
Author
Owner

While it does not completely fix #26, it still provides improvements to the build process, thus I merge it as is.

While it does not completely fix #26, it still provides improvements to the build process, thus I merge it as is.
jabber.developer force-pushed build/multicore from 8877e1eed7 to 886372caac 2025-10-14 09:47:18 +00:00 Compare
Author
Owner

Included in #72

Included in #72
jabber.developer closed this pull request 2026-01-21 14:54:09 +00:00
Some checks are pending
CI Code / Check spelling (pull_request) Successful in 23s
Required
Details
CI Code / Check coding style (pull_request) Successful in 38s
Required
Details
CI Code / Linux (arch) (pull_request) Successful in 12m20s
Required
Details
CI Code / Linux (ubuntu) (pull_request) Successful in 14m59s
Required
Details
CI Code / Linux (debian) (pull_request) Successful in 15m18s
Required
Details
CI Code / Code Coverage (pull_request)
Required

Pull request closed

Sign in to join this conversation.
No description provided.