Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Improvements to query performance #3258
As discussed in PR #2388, this PR makes gives some performance improvements for querying. On my database of around 14k songs, these commits make
The second commit confuses me. For some reason, inlining the call to
In this PR I have used
Finally, I'm not sure how to run the tests? I run the
Thanks for tackling this long-standing issue! However, I believe the overall role of templates in beets should be investigated somwhat further before deciding on a strategy for fixing it. In particular, @sampsyo made a few suggestions in 2030: There does not seem to be the obvious way to approach caching templates.
EDIT: I might personally be a little too perfectionist in that regard, its probably fine to just choose one of the approaches that have been proposed and go for it, in particular since there are no user-facing changes.
I believe there are plans to drop Python 2 support in the near future,but as long as we still support it, this change must at least be disabled when on Python 2 (which might be an acceptable approach if Python 2 support is indeed removed soon-ish).
Without any traceback, I cannot really tell what the issue is. Note that you can run individual test environments using
Thanks, I should have read the issue more carefully. So the suggestion to create a
I looked into the performance of
Awesome work so far! This is super interesting. It seems like there are two main things here: LRU-caching the templates, and making
I don't see any big downsides to using
May 9, 2019
referenced this pull request
May 9, 2019
I can confirm the performance impact on my machine! Here are three
And with it:
So that's a change from about 7.0 seconds to about 4.9 seconds, or a 1.4x speedup.
To answer your question:
Yep, tox depends on Python interpreters for each version you want to test under. You can always choose a specific environment by typing something like