Improve render performance of large wiki pages
What does this MR do?
This commit improves the performance of large wiki pages with many, many references.
On my local dev machine, it sped up loading large wiki pages (~640 references) from ~3s to ~2s.
Although not perfect, this MR might help to solve https://gitlab.com/gitlab-org/gitlab-ce/issues/40101.
Note: A similar tactic (to cache often used regexps outside of a loop) has already been used in the UserReferenceFilter.
Why was this MR needed?
It loads wiki large pages with many references faster. Similar to https://gitlab.com/gitlab-org/gitlab-ce/issues/40101#note_84955095
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added -
Tests added for this feature/bug - Conform by the code review guidelines
-
Has been reviewed by a UX Designer -
Has been reviewed by a Frontend maintainer -
Has been reviewed by a Backend maintainer -
Has been reviewed by a Database specialist
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Conform by the database guides -
If you have multiple commits, please combine them into a few logically organized commits by squashing them -
Internationalization required/considered -
End-to-end tests pass ( package-and-qa
manual pipeline job)
What are the relevant issue numbers?
Edited by Peter Leitzen