-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
asv bench cleanup - groupby #10998
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
asv bench cleanup - groupby #10998
Conversation
c651f87
to
fad6484
Compare
lgtm. I did sligthly different when I added some benchmarks here |
a couple fail:
|
yes, I know, but I didn't yet address that here (only restructuring the file, not fixing the tests themselves) The subclassing is also fine, but there you had the same test function but different creation setup, so in that case it's more awkward to put it in one test class |
although, probably even the easier option is to use |
oh, all these cool features. Ok, once the suite is cleaned up prob need to put a some docs in place when/how to do various things. |
It'll be a few hours until I can take a look (onsite + bunch of meetings
|
Yes, I think we should certainly ensure we don't change the vbenches anymore. Otherwise it has no point in starting to adapt the asv benches. Will do a PR with a notice. I think we can leave them in for some time for those we didn't switch yet |
@@ -1535,7 +674,9 @@ def setup(self): | |||
self.secid_max = int('F0000000', 16) | |||
self.step = ((self.secid_max - self.secid_min) // (self.n_securities - 1)) | |||
self.security_ids = map((lambda x: hex(x)[2:10].upper()), range(self.secid_min, (self.secid_max + 1), self.step)) | |||
self.data_index = MultiIndex(levels=[self.dates.values, self.security_ids], labels=[[i for i in range(self.n_dates) for _ in xrange(self.n_securities)], (range(self.n_securities) * self.n_dates)], names=['date', 'security_id']) | |||
self.data_index = MultiIndex(levels=[self.dates.values, self.security_ids], | |||
labels=[[i for i in range(self.n_dates) for _ in xrange(self.n_securities)], (range(self.n_securities) * self.n_dates)], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jorisvandenbossche Looks like I missed this in the first pass, but this xrange
call will break things on Py3. Compatability is being handled by overwriting range
in pandas_vb_common
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, fixed!
@jorisvandenbossche Other than the |
FYI, I have run benchmarks since 0.14 (not exactly on the tag as not a real easy way to do this). and pushed to gh-pages |
Yeah, I've got some local patches to fix the run-against-tag issues that
|
fad6484
to
788217f
Compare
asv bench cleanup - groupby
@jreback there seems to be some regressions since the last release (eg http://pydata.github.io/pandas/#plotting.plot_timeseries_period.time_plot_timeseries_period) maybe start listing them in the 0.17 release issue? |
@jorisvandenbossche I put that one on the 0.17.0 RLS issue. How do you 'find' regressions though (e.g. except for looking at charts directly). Did I not do something? |
Raising NotImplementedError is equivalent to SkipTest. Probably best done
|
In the "all benchmarks" view, there's a "Regressions" button in the upper
|
ahh I c ok I did it with the mark I eyeball :) |
@jreback In Christophers version it works, so you can see there how it looks: http://qwhelan.github.io/pandas_asv/#regressions?sort=3&dir=desc But for checking a release, I think the |
@qwhelan also maybe I am using it wrongly but asv gh-pages crashed for me I just did: asv publish the copied the html dir |
No, the regression page not working is definitely a bug in master. Also, I
|
Clean-up of the groupby benchmarks.
This is an example of how they can be cleaned up (grouping benchmarks with the same setup in common classes, removing a lot of the setup functions in this way)