-
Notifications
You must be signed in to change notification settings - Fork 270
Faster join #428
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
Faster join #428
Conversation
|
Working with 4 variations of join. Implementations here: https://gist.github.com/groutr/19b9f6ba71686e683a30af3eecd3f895 |
Added notes about memory usage and hashability.
|
This looks great, thanks again for all your attention recently @groutr! I'm back home now and more or less caught up with things (it's amazing how disruptive >18000 miles of road trips are), so I'll be giving |
|
@eriknw Glad to hear you're back safe. I should probably clean up these commits and open a new PR. The commit history in this PR is somewhat messy. I would like to know your thoughts on the line between clear/easy-to-read and performance. I wasn't sure if I was crossing that line by treating individual cases separately (and having some duplicated code). I settled on a variation of |
|
I think this looks pretty good. Generally speaking, |
|
@eriknw I think is ready for another review. |
|
LGTM. Thanks again @groutr, and sorry again for the long delay. Pretty nice performance gain here! |
Make join much faster by avoiding the exception handling.
Also use iteritems(d) instead of d.items() to avoid creating a copy of left items on Python 2.