StackStorm / StackStorm/orquesta
Investigate using `rustworkx` instead of `networkx`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 111
- Forks
- 44
- PR merge metrics
- No merged PRs in 30d
Description
I was curious if there was a faster implementation of networkx. Apparently rustworkx is.
ST2 already uses orjson, which is rust-based. So, another rust-based dep like rustworkx seems reasonable.
I wonder how much of a performance boost rustworkx would provide in orquesta? From a quick search, there are a few API differences between networkx and rustworkx that we'd need to account for to play with that.
A few links:
- https://github.com/Qiskit/rustworkx
- rustworkx for NetworkX users (in the rustwokx docs)
- some very limited benchmarks (in the rustworkx docs)
- a sane recommendation for how to deal with
rustworkxrequiring integer IDs for nodes in the graph (in the rustworkx docs)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating Orquesta's current NetworkX usage, then compare the relevant APIs with the rustworkx for NetworkX users guide and its benchmarks. Done means providing measured performance results and a clear compatibility recommendation for whether replacing NetworkX is practical.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, performance
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100