🌐 AI搜索 & 代理 主页
Skip to content

Conversation

@anntzer
Copy link
Contributor

@anntzer anntzer commented Apr 25, 2019

TexManager has a complex caching machinery (... among other caching
layers) to map font-related rcParams to a tex preamble (see _rc_cache,
_rc_cache_keys, _reinit) but that's just a matter of a few dict
lookups which are negligible compared to invoking the subprocess; so
just strip out that caching and always regenerate the font-related
preamble.

That caching also set some attributes (texmanager.serif, etc.) as a
side-effect via setattr/getattr, which are used nowhere else (and
it's hard to know they even exist other than figuring out the relevant
setattr calls); just deprecate them.

(I have some followup cleanups on that...)

PR Summary

PR Checklist

  • Has Pytest style unit tests
  • Code is Flake 8 compliant
  • New features are documented, with examples if plot related
  • Documentation is sphinx and numpydoc compliant
  • Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there)
  • Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way

TexManager has a complex caching machinery (... among other caching
layers) to map font-related rcParams to a tex preamble (see `_rc_cache`,
`_rc_cache_keys`, `_reinit`) but that's just a matter of a few dict
lookups which are negligible compared to invoking the subprocess; so
just strip out that caching and always regenerate the font-related
preamble.

That caching also set some attributes (`texmanager.serif`, etc.) as a
side-effect via `setattr`/`getattr`, which are used nowhere else (and
it's hard to know they even exist other than figuring out the relevant
`setattr` calls); just deprecate them.
@anntzer
Copy link
Contributor Author

anntzer commented Mar 22, 2020

rebased

@timhoffm timhoffm added this to the v3.3.0 milestone Mar 23, 2020
@timhoffm timhoffm merged commit 65ebc8c into matplotlib:master Mar 23, 2020
@anntzer anntzer deleted the texmancache branch March 23, 2020 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants