| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Be more careful to not create ticks earlier than needed, as that's quite
costly.
On the following benchmark
```
from matplotlib import pyplot as plt
from time import perf_counter
fig = plt.figure()
for i in range(3):
print(i)
start = perf_counter()
fig.subplots(10, 10)
print(perf_counter() - start) # creation time
start = perf_counter()
fig.clf()
print(perf_counter() - start) # clearance time
```
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...
|
Since this Pull Request has not been updated in 60 days, it has been marked "inactive." This does not mean that it will be closed, though it may be moved to a "Draft" state. This helps maintainers prioritize their reviewing efforts. You can pick the PR back up anytime - please ping us if you need a review or guidance to move the PR forward! If you do not plan on continuing the work, please let us know so that we can either find someone to take the PR over, or close it. |
Sorry, something went wrong.
|
I'm closing this as it is unclear whether there's actually a speedup. Instead I think we should go into the direction of moving from individual ticks to TickCollections #5665. Note #5665 (comment) for a possible migration strategy. |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
Be more careful to not create ticks earlier than needed, as that's quite
costly.
On the following benchmark
from matplotlib import pyplot as plt from time import perf_counter fig = plt.figure() for i in range(3): print(i) start = perf_counter() fig.subplots(10, 10) print(perf_counter() - start) # creation time start = perf_counter() fig.clf() print(perf_counter() - start) # clearance timethis 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