4 ms·
Fast Non-Standard Data Structures for Python
- cloudshoring 14y agoThanks for sharing!
- jfb 14y agoVery useful, thanks.
- willvarfar 14y agoJust 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.
- dalke 14y agoEver 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.
- z-factor 14y agoI 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.
- ch0wn 14y agobintrees is a fantastic package. There are even Cython-powered implementations that give a nice speed boost, if you need it.
- sbrother 14y agoI'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.
- kmike84 14y agoAdded to the list, thanks!
- michaelhoffman 14y agoThis is a great resource to have. Thank you!