You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixing issue #9691 revealed a deeper problem with the QuadPrefixTree's memory usage. At 1m precision the example shape in https://gist.github.com/nknize/abbcb87f091b891f85e1 consumes more than 1GB of memory. This is initially alleviated by using 2 bit encoded quads (instead of 1byte) but only delays the problem. Moreover, as new complex shapes are added duplicate quadcells are created - thus introducing unnecessary redundant memory consumption (an inverted index approach makes mosts sense - its Lucene!).
For now, if a QuadTree is used for complex shapes great care must be taken and precision must be sacrificed (something that's automatically done with the distance_error_pct without the user knowing - which is a TERRIBLE approach). An alternative improvement could be to apply a Hilbert R-Tree - which will be explored as a separate issue. Or to restrict the accuracy to a lower level of precision (something that's undergoing experimentation).
The text was updated successfully, but these errors were encountered:
Fixing issue #9691 revealed a deeper problem with the QuadPrefixTree's memory usage. At 1m precision the example shape in https://gist.github.com/nknize/abbcb87f091b891f85e1 consumes more than 1GB of memory. This is initially alleviated by using 2 bit encoded quads (instead of 1byte) but only delays the problem. Moreover, as new complex shapes are added duplicate quadcells are created - thus introducing unnecessary redundant memory consumption (an inverted index approach makes mosts sense - its Lucene!).
For now, if a QuadTree is used for complex shapes great care must be taken and precision must be sacrificed (something that's automatically done with the distance_error_pct without the user knowing - which is a TERRIBLE approach). An alternative improvement could be to apply a Hilbert R-Tree - which will be explored as a separate issue. Or to restrict the accuracy to a lower level of precision (something that's undergoing experimentation).
The text was updated successfully, but these errors were encountered: