itsbonczek/kingpin — pull request #25 by stanislaw (2014-03-12 09:35:29+00:00)
Title: KPAnnotationTree: finalize migration on C level

All significant computations and storage manipulations inside KPAnnotationTree private internals are now all written with exclusive use of C while public API left the same as they were before my first pull request.

The performance gain is awesome:

for my __etalon benchmark with 20000 annotations on iOS simulator on my Mac Air mid-2012__ I have now __18ms as lower bound__. Compared to something like initial 900ms we now have 50x faster tree building routine.

Practical result for kingpin on __my old iPhone 4 2010 device__ is that now it __builds 100000 annotations in 1.8-2 seconds__ which previously (my previous PRs) was the time for only 20000 annotations.

Now I am going to continue my work on a separate PR for better mergeOverlappingClusters - this may take a full day or two, but I am still able to spend my time on this.