A comparison of the differing build scripts configure and compile times
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 1.2k
- Forks
- 370
- PR merge metrics
- No merged PRs in 30d
Description
So, I've been doing some comparisons on the speed of various build
types and thought I'd report it here for possible adjustments to how
the ci's do their jobs:
cmake with gnu make backend
time cmake ..
real 0m0.324s
user 0m0.234s
sys 0m0.090s
time make -j1
real 0m2.520s
user 0m2.154s
sys 0m0.359s
cmake with ninja 'make' backend
time cmake .. -G"Ninja"
real 0m0.267s
user 0m0.204s
sys 0m0.064s
time ninja -j1
real 0m2.264s
user 0m1.997s
sys 0m0.264s
autotools ./configure && make
time ./configure
real 0m1.474s
user 0m1.111s
sys 0m0.492s
time make -j1
real 0m8.052s
user 0m7.643s
sys 0m0.456s
As you can see, using the autotools ./configure is something like 5-6 times slower,
and make is much faster using the cmake generated Makefile's.
Perhaps it would be a good idea to switch the ci over to cmake & ninja if possible.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the current CI setup and the build commands shown: ./configure, make, cmake .., and ninja. Benchmark the existing paths and determine whether CI can use CMake with Ninja; done means the CI configuration adopts the faster path without breaking builds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake
- Domain
- build-system, ci-cd
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100