Comparing different open-source graph analysis packages using benchmark graph tasks
We suggest set up different Anaconda virtual environments for each of the packages.
Experiments are run with Python 3.7. Besides, you should install matplotlib==3.3
.
For commands to install the graph packages, see setup.md
.
- Graph-tool
- igraph
- NetworkX
- Networkit
- SNAP
- Amazon product co-purchasing network (262k nodes, 1.2m edges)
- Google web graph (875k nodes, 5.1m edges)
- Data loading
- Shortest path
- PageRank
- k-core
- Strongly connected components
Outputs of the scripts include:
- Total runtime
- Peak virtual memory size
- CPU usage and Resident Set Size (RSS) throughout the process, given by
procpath
(figure) ps
data throughout the process- CPU usage and Virtual Memory Size (VMS) throughout the process, given by
ps -aux
(figure)
sh scripts/snap.sh
Scripts for other packages can also be found in scripts
and run using similar commands.