| Firstly, congratulations for working on a very interesting project and thanks for the insights. Indeed, there are some points in your reply which I think would fit better to a networkx vs. memgraph comparison post. That being said, your blogpost is titled "Who ranks better?" and it is mainly about the speed of running a PageRank. Networkx is a no frills Python package that is much easier to use and experiment on. Outperforming networkx in speed is not really a feat, however any new network package should certainly do this. And further, do this with networkx on equal footing.
For instance, igraph outperforms networkX in pageRank by 20 times, and graph-tool by over 50 times (without load times)! And I am sure memgraph can do so as well, just that this blog post doesn't seem to conclusively demonstrate that fact. It would make little sense to me to use networkx as a tool to load data from memgraph. And to be honest, using this triple (quadruple) Python list operation and not even use the numpy-based performance that networkx does offer (little as it may be) just doesn't seem right. I understand that memgraph has other advantages, like persistence, however in that case networkX is simply not a good comparison. If that's the focus, why not query a local Neo4j? That's gonna be a pretty speedy PageRank as well and an interesting challenge. All in all, I am sure Memgraph performs great, and I am looking forward to other comparisons in the future! |