Skip to content

Conversation

@mbastian
Copy link
Member

@mbastian mbastian commented Sep 20, 2025

  • Node/Edge Iterable now have a spliterator(), stream() and parallel() stream methods.
  • Spliterator is implemented in Node/EdgeStore by splitting over the backing arrays. Those spliterator aren't using the auto read locking mechanism, like the traditional iterators, but would throw an exception if the structure is concurrently modified
  • Iterable wrappers fallback in using iterator and spliterator aren't available
  • Wrapped iterators (undirected, type, or other predicates) are using SIZED when possible, but not SUBSIZED. Some iterators like self-loop don't have SIZED as we don't maintain the number of selfloops.

@mbastian mbastian changed the title Implement spliterator for both nodes and edges, while keeping fallbac… Implement spliterator for both nodes and edges Sep 20, 2025
@mbastian mbastian merged commit 63dc531 into master Sep 22, 2025
1 check passed
@mbastian mbastian linked an issue Sep 22, 2025 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Spliterator support on main node and edge operations

2 participants