Hacker News new | past | comments | ask | show | jobs | submit login
Fast Non-Standard Data Structures for Python (kmike.ru)
156 points by krat0sprakhar on Jan 28, 2013 | hide | past | favorite | 9 comments



I'd like to add scipy.spatial.cKDTree for really fast kd-trees. Just used it for a geospatial data analysis application (find the closest N facilities to a given point) and it blew the numpy and standard python alternatives out of the water in terms of speed.


Added to the list, thanks!


Just a random anecdote: I've been badly burned by the heapq for timeouts; although I understand the advantages of the heap in general I think the Python library version is shot-down in practice due to being a purely-Python implementation. I moved to rbtree and suddenly my throughput shot up.


Ever since Python 2.4, the heapq module has been written in C. It was only Python 2.3 which had the pure Python implementation.

I've used heapq for several of my projects, including one where I did extensive performance testing, and I haven't found it to be a problem.


I want to add that I've been using heapq for scheduling in every piece of software as well and it's never been a problem even in heavily loaded projects.


bintrees is a fantastic package. There are even Cython-powered implementations that give a nice speed boost, if you need it.


This is a great resource to have. Thank you!


Very useful, thanks.


Thanks for sharing!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: