rmsalinas / picoflann

Minimal library for Exact KdTree Search
19 stars 0 forks source link

Slower than nanoflann #1

Open nonbasketless opened 3 years ago

nonbasketless commented 3 years ago

I'd consider this a bug since it's not working as stated. I tested this on quite a lot of range image data and it tends to be about half as fast as nanoflann.

nonbasketless commented 3 years ago

Clarification: range image data on the order of 100k points, stored as ordinary 3D point cloud.

Readme.md conflicts itself on 2D vs 3D point tests. I wonder if this is faster in the 2D case, haven't tested.

LimHyungTae commented 3 years ago

I also agree with the fact. PicoFLANN is not faster than NanoFLANN :( ------ Update on 4/30 ------- Finally, I figured out that PicoFLANN is faster when the number of points is larger! Please see https://github.com/LimHyungTae/OpenFLANN

StongeEtienne commented 2 years ago

I'm currently writing on my own adaptation of NanoFlann,

This code should be slower for lower dimentions, since the L2 distance is not templated. There would be an easy way to create optimized L2 distances for a few dimentions (2d -3d -... ~8d).

With this, the "for loop" would be removed, and could take advantage of AVX / SSE (SIMD) instructions set. This is also optimized in NanoFlann with the "for loop" grouping 4 elements. This also explain, why on some computer (without AVX / SSE) PicoFlann would be faster in small dimentions.