Skip to content

PERF: Cython optimizations for period module, round one #9504

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

Merged
merged 2 commits into from
Mar 1, 2015

Conversation

blbradley
Copy link
Contributor

Each commit passes test_fast.sh, so performance can be measured between commits.

I can break any of these commits into separate PRs if needed.

@blbradley
Copy link
Contributor Author

@blbradley blbradley force-pushed the period-cython-optmize01 branch from d2e827a to 63d6ba4 Compare February 17, 2015 18:14
@blbradley
Copy link
Contributor Author

I removed one commit because I thought it was a bad decision. I don't think it will affect the performance results too much.

@blbradley blbradley force-pushed the period-cython-optmize01 branch from 63d6ba4 to 6d51247 Compare February 17, 2015 23:54
@shoyer
Copy link
Member

shoyer commented Feb 18, 2015

Looks good to me.

You'll need to add types if you want significant speedups for things like the Period constructor, though.

@jreback jreback added Performance Memory or execution speed performance Period Period data type labels Feb 18, 2015
@jreback jreback added this to the 0.16.0 milestone Feb 18, 2015
return False
return (self.ordinal == other.ordinal
return _nat_scalar_rules[op]
return (PyObject_RichCompareBool(self.ordinal, other.ordinal, op)
and _gfc(self.freq) == _gfc(other.freq))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you've already verified that frequencies are equal by the time you get here -- do you really need to check the frequency codes, too?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also a very good call.

@blbradley blbradley force-pushed the period-cython-optmize01 branch from 6d51247 to 92e91fc Compare February 24, 2015 02:28
@blbradley blbradley force-pushed the period-cython-optmize01 branch from 92e91fc to 3c4ece3 Compare February 24, 2015 02:42
@blbradley
Copy link
Contributor Author

Current build failure is a problem with Travis CI and PyPI package resolution. Happening with other builds too.

@shoyer
Copy link
Member

shoyer commented Feb 24, 2015

@blbradley thanks for the report, I opened a conda issue for that: conda/conda#1166

@jreback
Copy link
Contributor

jreback commented Feb 24, 2015

can you post an updated vbench?

@shoyer
Copy link
Member

shoyer commented Feb 24, 2015

@blbradley The build did pass when I restarted it (after conda deployed their fix)

@jreback
Copy link
Contributor

jreback commented Feb 24, 2015

@shoyer fyi, I turned off ssl_verify to fix this (subsequently conda DID fix requests though)

@jreback
Copy link
Contributor

jreback commented Mar 1, 2015

lgtm, @shoyer ?

@shoyer
Copy link
Member

shoyer commented Mar 1, 2015

Yes, looks good to me!

jreback added a commit that referenced this pull request Mar 1, 2015
PERF: Cython optimizations for period module, round one
@jreback jreback merged commit b1aeb77 into pandas-dev:master Mar 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Performance Memory or execution speed performance Period Period data type
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants