I've been trying to port an application that uses SQLite to use igraph, because the operations are a better fit for igraph. However, the one thing where SQLite wins is in fast startup time. The graph in question is based on a process memory dump, and thus has ~4M nodes and 15M edges. Loading it into igraph takes ~120 seconds on my laptop (including parsing).
I would like to store that graph in a persistent format, and it seems like igraph using a memory-mapped file (mmap) would do the trick. Has anyone attempted that in the past?
To make that change, it seems like changes would be needed in src/type_indexededgelist.c, and likely to igraph_memory.h (in igraph_Free/igraph_Realloc/igraph_Calloc).
My C is a bit rusty, and I've never worked on igraph before, but I'm willing to give this a shot. Has anyone out there tried this before? Is it a horrible idea? Would others be interested in this change?
Thanks
-Cale