Where I outline the design of tags in Pijul, which are a first step towards a more general hybrid snapshot/patch version control system. The Sanakirja tricks presented here can also be applied outside the context of Pijul, to create efficient compressed databases.
Sanakirja is a key-value store based on B trees, written in Rust. In this post, I reflect on some design and programming methodology mistakes I’ve made. Benchmarks show that the latest version beats LMDB, the fastest C equivalent, by 20%-50% on a use case similar to my most common load (storing graphs in Pijul).
I’d like to announce a new release of Pijul, version 0.11. This release fixes a large number of bugs, follows evolutions in the Rust ecosystem (Tokio), integrates better with existing software (SSH proxys and config files), and introduces an important feature of Pijul: /partial clones/.
buildRustCrate is a tool I wrote in the Nix
programming language to share build products across crates and across
versions of a single crate when compiling Rust code. The initial
motivation was to speed up deployment times when working on large
projects with lots of dependencies, such as the
We’ll release a usable version of Pijul later today. Pijul itself is in an alpha stage, but is based on a number of other things we’ve needed to write, among which a key-value store known as Sanakirja.
Now that Sanakirja is in a usable state, the main operation before we can start to use Pijul for other purposes than tests is to plug Sanakirja in. This post describes our strategy for doing this, and the difficulties we’ve had.
We’re happy to announce the first joint sprint with the darcs team, which will take place on May 6th, 7th and 8th in Helsinki, Finland. If you’re interested in using and/or learning Rust and Haskell, come hack with us!