Lazier ticks for large speedup when creating large arrays of axes. #16067
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.
Be more careful to not create ticks earlier than needed, as that's quite
costly.
On the following benchmark
this speeds up axes creation from ~1.4s to ~0.5s and figure clearance(!)
from ~2.6s to ~0.3s.
Note that a similar idea was already implemented in c935965, which sped
up creation from ~2.6s to 0.8s and clearance from ~2.2s to ~1.8s, but
obviously the whole thing is brittle and got mostly lost at some
point...
Would be nice to track performance regressions (semi)automatically.
attn @timhoffm as you initially had this idea in #9727
(#16066 made this a bit more of a pain than expected)
edit: hmmm, looks like this just transfers the cost to draw time, will investigate more...
PR Summary
PR Checklist