Open jpr-snl opened 1 month ago
Both rustworkx and igraph use the same concept of subgraph matching, and even (variants of) the same algorithm, VF2. The comparison is fair.
If you're comparing to ISMAGS in NetworkX, that indeed uses a different concept.
That said, these benchmarks are outdated today, and cover a very small subset of the libraries' functionalities, so I wouldn't base any decisions on them.
I was recently working on some benchmarking of networkx and igraph, and it appears that igraph uses a different terminology for isomorphism compared to networkx. NX distinguishes between isomorphism and monomorphism, but it appears igraph does not. Instead, I think igraph only implements what NX calls monomorphism. That's at least true for the function "graph.get_subisomorphisms_vf2()". If that is also the case for graph.subisomorphic_vf2(), then you may be benchmarking igraph's performance on a subtly different problem that networkx appears to be significantly slower at for some graphs.