Conversation
crates/algos/src/fast_rp_gds.rs
Outdated
| } | ||
| } | ||
|
|
||
| struct RandomGenerator { |
There was a problem hiding this comment.
I think it would be good to document this beast to make it clear that it's essentially mirroring the Java RNG and that we need this to align with GDS behaviour.
There was a problem hiding this comment.
Maybe instead of documenting just that RNG, it would be better to document the whole algo and also link to the Java impl on GitHub.
| pyo3-log = "0.7.0" | ||
| rand = "0.8.5" | ||
| rayon = "1.7.0" | ||
| rayon = "1.7.0, <1.10.0" |
There was a problem hiding this comment.
Why do we need this constraint?
There was a problem hiding this comment.
Can't build with rayon 1.11. Looks like the builder crate needs <= 1.10.
error[E0271]: type mismatch resolving `<IntoIter<(NI, NI, EV)> as ParallelIterator>::Item == &_` --> crates/builder/src/input/edgelist.rs:125:35 | 125 | self.list.into_par_iter().copied() | ^^^^^^ expected `&_`, found `(NI, NI, EV)` |
| self, *, chunk_size: int, neighbor_rounds: int, sampling_size: int | ||
| ) -> WccResult: | ||
| """Run Weakly Connected Components on this graph.""" | ||
| def fast_rp( |
There was a problem hiding this comment.
maybe also use the _gds suffix here to make this more clear?
crates/mate/tests/fast_rp_test.py
Outdated
| def test_coefficients(g: DiGraph): | ||
| pass | ||
|
|
||
|
|
||
| def test_normalization_strength(g: DiGraph): | ||
| pass | ||
|
|
||
|
|
||
| def test_random_seed(g: DiGraph): | ||
| pass |
s1ck
left a comment
There was a problem hiding this comment.
I like it and I am not against merging this and improving parallelism later. However, if it's not strictly necessary to mirror the exact GDS implementation, I'd prefer to do that instead.
Does mirroring GDS somehow limit you in terms of performance, e.g. the ability to parallelize more?
No description provided.