Some suggestions
nazarimilad opened this issue · 3 comments
Awesome project!
Some remarks and questions I have:
-
RAM: using K-d-trees: how is the memory complexity? Can you provide some measurements and graphs for big amounts of data? I think using some OSM country data could be a good idea.
-
What about the time complexity of the supported operations: insertion, fetching and deletion?
-
Is there support to persist the indexes to disk and reread them from disk?
-
I think it would be very helpful to provide some performance comparisons with the geo-spatial indexing engine of some popular databases.
-
What If I have a geospatial element that needs to be updated? For example the latitude needs to be corrected. Is there support for an "UPDATE" operation, and thus is updating the K-d tree possible? Or is there a work around: delete and insert? Maybe a good idea to document this in your README.md
-
What if I also have elevation data?
Thanks a lot for your feedback @nazarimilad
Benchmarks are a good suggestion, I will perform tests and add benchmarks to this repository soon.
Regarding other suggestions, I am already working on a lot of improvements. I will update the README.md too.
I will keep you posted with the related updates on this thread 😄
@thegeekyasian Great work! Would you be interested to reuse existing benchmarks for your project?
Sbt-JMH plugin is used under the hood. It allows to measure throughput, allocations or any other CPU metrics like instruction per cycle, cache misses, branch mis-predictions. Also, it can show reports in a form of flame-graphs or pretty-print disassembled machine instructions generated by JIT compilers for hot loops with links to the source lines in comments.
@thegeekyasian Great work! Would you be interested to reuse existing benchmarks for your project?
Sbt-JMH plugin is used under the hood. It allows to measure throughput, allocations or any other CPU metrics like instruction per cycle, cache misses, branch mis-predictions. Also, it can show reports in a form of flame-graphs or pretty-print disassembled machine instructions generated by JIT compilers for hot loops with links to the source lines in comments.
Thank you very much @plokhotnyuk. I really appreciate your suggestion and thanks for sharing the reference.
I already have some benchmarks created, which I plan to add to the repository soon. I will look into your project and will see if I can reuse anything for better benchmarks. The projects looks super cool. 🚀
And I might ping you for assistance, if that is required :D TIA