-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
performance tracker #51
Comments
We should have it as a |
Is the tox task for local testing or for the CI? I'm not sure whether the CI environment is consistent enough in load for it to be worthwhile to do performance testing on it. |
Experimenting with a dict based cache (instead of a LRU cache):
|
Quite a difference.
I think you can just read it in terms of multiples of the |
Ah, yeah, we could normalize it by the 0 args line to get some idea at least. @henri-hulski are you interested in looking into this? You need to modify perf.py, just create a new copy of that under a different name so I can continue running the old perf.py for a while. |
Can you update the perf after bc3afd1? |
I updated this with the current master, so that includes your cache improvements and call improvements. Quite a boost again:
|
In the sense that instead of looking at the times as measured in seconds, you could look at them in relative terms, as multiples of the time for the "Plain func 0 args" |
Ok. I think I got it. |
@faassen I named it tox_perf.py and added it to tox. |
Okay, cool, that gives a nice idea of how fast/slow Reg is! But I'm glad you retained I'm a bit surprised the KeyExtractor removal has had no effect on performance whatsoever.
|
Because Removing |
Latest master:
|
I thought it would be fun to track performance.
This was the decoupling branch as of a while ago:
Here's some older benchmark of the arg extraction code (where @taschini already took out argextract, but not yet completely):
As of today, it's:
So we currently we're less than 10 times slower than plain Python.
The text was updated successfully, but these errors were encountered: