Discussion:
[Community] libspatialindex - questions about threads and stability
Cal Leeming
2015-01-28 23:21:11 UTC
Permalink
Hello,

I'm currently looking into using libspatialindex as part of a
prototype in-memory spatial database.

I've spent some time reading over documentation, code and old threads,
but still have a couple of questions;

* Is libspatialindex thread safe? If so, would multiple threads result
in better insert/query performance, or does it use some sort of global
lock?
* Are there any known/outstanding bugs which could result in data
loss/corruption?

Any info on the above, and anything else you feel relevant, would be
much appreciated.

Thank you in advance

Cal
Howard Butler
2015-01-29 14:25:48 UTC
Permalink
Post by Cal Leeming
Hello,
I'm currently looking into using libspatialindex as part of a
prototype in-memory spatial database.
I've spent some time reading over documentation, code and old threads,
but still have a couple of questions;
* Is libspatialindex thread safe? If so, would multiple threads result
in better insert/query performance, or does it use some sort of global
lock?
There is some effort to protect data structures in the face of multi-threaded code, but this is probably not widely tested. You won't get much better insert performance in a multi-threaded situation due to the locks being fairly coarse. You will maybe get some better query performance. Please report back any findings of your research exercising the code.
Post by Cal Leeming
* Are there any known/outstanding bugs which could result in data
loss/corruption?
Not as far as I know of. There's people doing some intensive and large stuff with great success using libspatialindex. You can find bug reports at https://github.com/libspatialindex/libspatialindex/issues to see what kinds of challenges people have with the library.
Post by Cal Leeming
Any info on the above, and anything else you feel relevant, would be
much appreciated.
Cal Leeming
2015-01-29 17:15:15 UTC
Permalink
Beautiful, thanks for the quick reply, I'll be sure to report my findings.

Cal
Post by Howard Butler
Post by Cal Leeming
Hello,
I'm currently looking into using libspatialindex as part of a
prototype in-memory spatial database.
I've spent some time reading over documentation, code and old threads,
but still have a couple of questions;
* Is libspatialindex thread safe? If so, would multiple threads result
in better insert/query performance, or does it use some sort of global
lock?
There is some effort to protect data structures in the face of multi-threaded code, but this is probably not widely tested. You won't get much better insert performance in a multi-threaded situation due to the locks being fairly coarse. You will maybe get some better query performance. Please report back any findings of your research exercising the code.
Post by Cal Leeming
* Are there any known/outstanding bugs which could result in data
loss/corruption?
Not as far as I know of. There's people doing some intensive and large stuff with great success using libspatialindex. You can find bug reports at https://github.com/libspatialindex/libspatialindex/issues to see what kinds of challenges people have with the library.
Post by Cal Leeming
Any info on the above, and anything else you feel relevant, would be
much appreciated.
_______________________________________________
Community mailing list
http://lists.gispython.org/mailman/listinfo/community
Loading...