Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dgleich/libbvg

A C implementation of a Boldi-Vigna graph decompressor
https://github.com/dgleich/libbvg

Last synced: about 2 months ago
JSON representation

A C implementation of a Boldi-Vigna graph decompressor

Awesome Lists containing this project

README

        

libbvg
======

This library implements a decoder for a Boldi-Vigna
graph structure, a highly compressed means of storing
web-graphs. The library is written in pure C.
It includes a Matlab wrapper, and a means to implement
multi-threaded graph algorithms.

[![Build Status](https://travis-ci.org/dgleich/libbvg.svg?branch=master)](https://travis-ci.org/dgleich/libbvg)

Features
--------

* In-memory and on-disk graph storage
* Sequential iteration over graph edges
* Parallel iteration over graph edges

Coming soon: random access to graph edges.

Synopsis
--------

bvgraph g = {0};
bvgraph_load(&g, "wb-cs.stanford", 14, 0);
printf("nodes = %i\n", g.n);
printf("edges = %i\n", g.m);

bvgraph_iterator git;
bvgraph_nonzero_iterator(&g, &git);

for (; bvgraph_iterator_valid(&git); bvgraph_iterator_next(&git)) {
int *links; unsigned int d;
bvgraph_iterator_outedges(&git, &links, &d);
printf("node %i has degree %d\n", git.curr);
for (int i; i