Add Rust rewrite of the Java code
This will eventually replace the Java code, as we expect it to perform better.
This contains:
- a new compression pipeline, though it is still unused, except for the BV step which is buggy in Java
- a new runtime library
- a new gRPC server
- a proof-of-concept Python extension
- rewrite of the gRPC tests from Java to Python, so they run against both the Java and Rust implementations
The main missing items for now are:
- support for edge labels
- any sort of benchmark of the runtime and gRPC server
- replacing commands in
swh/graph/webgraph.py
to run Rust commands instead of Java commands - an end-to-end run of the compression pipeline on the full graph (so far I only ran it step-by-step, manually)
Edited by vlorentz