cmake : llguidance build parser library only #14608
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The LLGuidance repo contains a lot of stuffs, while the parser library we care about (
libllguidance.a
andllguidance.h
) is only a small portion of it, underparser
directory as per project README, thus building the whole project when building llama.cpp is unnecessary and a waste of time and compute power. This PR instructs CMake to only build the parser library, which cuts the number of compiled Rust packages from ~300 to 75, and provides a ~40% overall build speed increase.Tested with a GitHub Codespace with 2 vCPUs, 8GB RAM, and llama.cpp b5857 with default CMake config (
cmake . -B build -DLLAMA_LLGUIDANCE=ON && time cmake --build build -j $(nproc)
):Before (b5857):
After (this PR):