How does RisGraph implement versioning (snapshot) ?
Dear authors,
Thanks for releasing the source code of the RisGraph paper. I am trying to figure out how the versioning (snapshot) is implemented in RisGraph but cannot find out where this logic is in the source code. I'd be appreciated if you could point out where this logic locates in the source code. Thanks!
Hi. We implemented the versioning by the class MVVec and alloc_history_array in the Graph class. MVVec maintains linked lists from the new version to the old version for each element. The codes are listed below. Hope my answer is useful for you.
https://github.com/thu-pacman/RisGraph/blob/2e36df68f1e88accf2f5f85669c532d3b7b5d7c3/core/mvvec.hpp#L23
https://github.com/thu-pacman/RisGraph/blob/b4645647175efd3699b05bbd6be38c688005a2b2/core/graph.hpp#L296