
One issue with my last reply: I didn't see that you were using a bidirectional graph type. The CSR graph does not support bidirectional graphs currently; I can put that together or describe how to do it if you want (with the graph structure being about 3x as large, but not duplicating the properties). That might be your best option.
Yes, I absolutely require bi-directional graphs. As I mentioned, the application is static code analysis and a callgraph is inherently bi-directional. So yes, I'd really like to know how to use the CSR graph in a bidirectional manner.
With CSR, the overhead for the properties is just the space the raw data takes up.
Does that mean raw data gets allocated per vertex/edge or in one big buffer indexed by vertex/edge? I'd prefer the later of course. I need to get the number of small memory allocations down to an absolute minimum (i.e. calls to new/mallow with only a few bytes). best regards, Sören