Glossary: Improve performance of parsing translations for adding tooltips #1395
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 #1383.
This improves the implementation of #1359 for a better performance. The key improvement is shortening the regex for splitting the singular into chunks of text and glossary items.
Before, for example for Galician, it created a 20k regex of the format:
The new code improves it to a 6k regex like this:
Before, the regex performance was about 0.3s per
preg_split()
call, the new one is < 0.1s.I also refactored the regex generation to happen inside the function cache it interally using the
static
keyword and also the generation of the reverse lookup to identify the assigned glossary term.