On 13 May 2016 at 07:30, Soul Studios
iteration will be slower, but in many cases the time savings in insertion and erasure make up for it. Some of the text on that website needs to be updated :)
I've implemented a (simple) Concurrent Graph Library, based on ideas (the
base structure) borrowed from the LEMON Graph Library, using tbb::concurrent_vector, instead of std::vector. This comes with some limitations as you correctly pointed out. You did give me some good ideas to actually make that CGL better and more flexible. I've read your paper on jump-counting-skipfields, there are some fun ideas in there that I would like to explore as well.
I wasn't going on about indexes because of speed concerns regarding iterators. Node/arc/edge-Id's ARE the indexes into the node/arc vectors. This (indexes-) idea makes LEMON Graph Library much faster than BGL (it's also easier to use by the way, no need to read a book). Sure one could store iterators, but given the iterators' size, this "solution" would make the whole thing rather cache-unfriendly as compared to just storing uint32_t's. degski