Hacker News new | ask | show | jobs
by zwaps 1302 days ago
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!

1 comments

Who ranks better was my word play, because of PageRank :') But yes, I totally agree with what you wrote and I will aim for more detailed comparisons in the next articles. And you are right, NetworkX is easy to use Python library, and I wanted to show that Memgraph is also easy to use and Python friendly, as well as fast. It also has a bunch of popular graph algorithms already implemented, so if anyone is working with graphs and NetworkX, the performance gain of Memgraph introduced in this article may be useful to them. Regarding Neo4j, wait for it ;)