Add caching to improve mkdocs build time #3223
Draft
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.
Closes #3224.
This PR adds the
lru_cache
decorator from thefunctools
library to improve the performance of various functions by caching their results.Current build time: ~63s
Improved build time: ~50s
Performance improvements:
docs/hooks/add-cross-references.py
: Addedlru_cache
to thegather_metadata
function to cache its results and improve performance.docs/hooks/create_dynamic_tables.py
: Appliedlru_cache
to several functions includingget_platform
,get_mastg_tests_dict
,retrieve_masvs
,get_masvs_groups
,get_all_weaknessess
,get_all_tests_beta
,get_all_demos_beta
, andget_all_mitigations_beta
to enhance their efficiency.docs/hooks/edit_button_uri.py
: Cached the result of theget_edit_url
function usinglru_cache
.docs/hooks/github_api.py
: Addedlru_cache
to theget_latest_successful_run
function to cache its results and improve performance.