arne-bdt opened a new pull request, #3903:
URL: https://github.com/apache/jena/pull/3903
GitHub issue resolved #3902
Pull request Description:
`GaphMemIndexedSet `is based on the architecture of `GraphMemRoaring`, but
replaces the `RoaringBitmaps `by simple index-lists and a reverse index.
Benefits;
- memory footprint is comparable to GraphMemFast for smaller graphs up to 1M
triples. For larger graphs (BSBM 25M and 50M) the footprint is even smaller.
- `Graph#add` speed is comparable to `GraphMemFast` (depending on the graph)
- `Graph#delete` speed is faster than GraphMemFast, especially for large
graphs
- `Graph#find` / `#stream`:
- `S__`, `_P_`, `O__` --> slightly slower than GraphMemFast
- `SPO `--> faster than GraphMemFast
- `___ `--> faster than GraphMemFast
- `SP_`, `S_O`, `_PO `--> faster than GraphMemFast in most cases
- `Graph#contains`:
- `SP_`, `S_O`, `_PO `--> dependent on insert order --> _the only
non-optimal thing I discovered_
- other match pattern behave like `#find`
- `GraphMem#copy` --> faster than GraphMemFast
- supporting the same indexing strategies as GraphMemRoaring
----
- [x] Tests are included.
- [x] Commits have been squashed to remove intermediate development commit
messages.
- [x] Key commit messages start with the issue number (GH-xxxx)
By submitting this pull request, I acknowledge that I am making a
contribution to the Apache Software Foundation under the terms and conditions
of the [Contributor's
Agreement](https://www.apache.org/licenses/contributor-agreements.html).
----
See the [Apache Jena "Contributing"
guide](https://github.com/apache/jena/blob/main/CONTRIBUTING.md).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]