I just double-checked the benchmarks I had run... the simultaneous sort is about 10 times faster than the numpy option for O[1] points, and about 3 times faster than the numpy option for O[1000] points.

I was thinking that if that difference is a negligible percentage of the query time, it might be cleaner just to use the numpy option.  But when searching for a large number of neighbors, the cost of the current implementation is on order 30% the query cost, so it's definitely worth worrying about!

I also realized that I haven't yet implemented the ``sort_results`` keyword I mentioned above.  With these benchmarks in mind, that seems like it would be a really good thing to have -- I'll take a stab at implementing that when my PyCon/PyData talks are done!