I would have stuck this in my thread on OMPF but since it's down I'll just make a new one here. I'm pretty much a newb regarding actually implementing photon mapping (my engine doesn't do anything beyond standard raytracing and global illumination via photons yet) and I figure there are a number of other people in a similar place. I wanted to see how really basic (ie really easy to write) implementations of a couple of different near neighbor search algorithms would work out for the photon map. I wrote a couple of quick implements and did some rather non scientific benchmarking to see how they did. I'm sure others here could write significantly faster implementations (especially of the KD-Tree), so feel free to comment/question/flame me if you know better.

http://www.clusterfaq.org/programming/near-neighbor-search-benchmarks/