Optimize bootstrap_devsite command#2052
Merged
tykling merged 7 commits intobornhack:mainfrom Feb 19, 2026
Merged
Conversation
- Allow to customize camp years created/read_only by specifying ranges. - Implement concurrency using threading with 4 default threads (best performance) [NOT TESTED ON WINDOWS]. - Restructure Bootstrap class methods for improving boundaries. - Write some tests for `bootstrap_devsite` command's new behaviour.
- Verbosity arg is implemented in Django and can be used to silence noisy DEBUG/INFO logs - Improve logging methods, add and use more colors and move some logging from `bootstrap.base` to `bootstrap_devsite`. - Fix hardcoded default range ending.
tykling
approved these changes
Feb 19, 2026
Member
|
very nice 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
I got annoyed that bootstrapping the database took
4m9son my Ryzen 5 3900X, so I implementedbulk_createwhich only took off23s.I then learned about concurrency and implemented threading with cleaner boundaries and got it down to
1m50s.Adding a
transaction.atomic()context manager shaved off another10-15sending at1m35s.