davidmoten / davidmoten/rtree

rtree2

Open
#95 2 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
1.1k
Forks
218
Avg merge
2m
Merged PRs (30d)
1

Description

I've made a **new version** of *rtree* at https://github.com/davidmoten/rtree2. It has a different artifactId *rtree2* and different package names so can co-exist with *rtree* if required.

Instead of supporting RxJava 2 API I've dropped the reactive API completely and now search methods return `Iterable`s. You can then wrap the return with whatever reactive library you like. For instance for RxJava2:

```java
Flowable.fromIterable(tree.search(rect))
```
One really interesting consequence of dropping the reactive approach in the API is that performance went down about 20% on search benchmarks. It seems that high request fast paths were performing really well and converting to Iterable which is like a request 1, request 1, etc Observable/Flowable is not as fast. Anyway I think the flexibility benefit and reduced dependencies is worth the performance hit. I'll keep looking for opportunities to bring perf up again.

Note also that I've dropped serialization because it's a big maintenance pain. You can do your own serialization and deserialize using bulk packing kindly contributed by @ambling in #67.

I've released rtree2 0.9-RC1 to Maven Central which you can try out.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.