Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork445
Try harder to not recompile sketch without modifications.#2961
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:master
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
18335b6 toaa33373Comparecodecovbot commentedJul 29, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@## master #2961 +/- ##==========================================+ Coverage 68.36% 68.46% +0.09%========================================== Files 241 242 +1 Lines 22731 22893 +162 ==========================================+ Hits 15541 15674 +133- Misses 5992 6014 +22- Partials 1198 1205 +7
Flags with carried forward coverage won't be shown.Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
aa41179 to1ca362cCompare1ca362c tof32315fComparef8e6556 to2a278c5CompareDuring the library detection phase, we do not have objects files yet,the only thing that we should check is if the dependency file isup-to-date.In this commit we let GCC create a dep file during the library discoveryphase.We must ensure that the build-path folder exists otherwise the compilerwill not be able to create the dep file.
2a278c5 tofa72186Comparefa72186 to1cdbf67Compare1cdbf67 tob1a6aedCompare
Please check if the PR fulfills these requirements
Seehow to contribute
before creating one)
our contributing guidelines
UPGRADING.mdhas been updated with a migration guide (for breaking changes)configuration.schema.jsonupdated if new parameters are added.What kind of change does this PR introduce?
Improves the checks made to the sketch to avoid useless recompilation and preprocessing.
What is the current behavior?
The sketch source code, before being compiled, undergoes a two-phase processing:
Previously, these two operations were always performed, touching the final
sketch.cpp. This resulted insketch.cppbeing recompiled every time. Moreover, the library discovery cache could not be exploited because of thesketch.cpptimestamp change.What is the new behavior?
The merged sketch file is saved in a separate
sketch.cpp.mergedfile, and it is compared to the newly generated content. If they match, the already preprocessedsketch.cppandsketch.cpp.mergedare left untouched.This is enough for the current build system to recognize that the file is already up-to-date and skip both compilation and library discovery, which greatly improves compile times.
Does this PR introduce a breaking change, and istitled accordingly?
Unless I'm missing some convoluted case, it shouldn't.
Other information