Hi,
I looked through some of the code, examples, github issues, and would like to confirm my overall understanding about Cassovary.
- Is it the case that the graph api can "only" store the id for each node, and unlabeled edges? I saw some enhancement requests for changing this, yet it seems that some of them can be satisfied by pre-processing your graph in certain ways, or by employing lookup tables external to the graph; hence no need to change the core IMO.
- What have been the main optimizations making it especially efficient in terms of memory footprint? Did they substantially trade off with cpu usage? are they as efficient with Java 8 runtime?
- I see several types of graphs in com.twitter.cassovary.graph, and have probably missed a definitive resource explaining the salient traits of each one. I am not even sure how is a Dynamic Directed Graph different than a Directed Graph, or what is shared in a SharedArrayBasedDirectedGraph. Have I missed some piece of documentation? can you point out rules of thumb for choosing between them, or what is each one optimized for?
Many thanks in advance for your comments!
This all will greatly enable a wise choice on my part.
Thanks,
Matan