4 ms·
Excellent question! This project is indeed mathematically possible, but did require two separate innovations: - an "engineering" one, called Sanakirja, which i
by pmeunier 6y ago
Excellent question! This project is indeed mathematically possible, but did require two separate innovations:
- an "engineering" one, called Sanakirja, which is a fast, forkable, transactionnal, on-disk key-value store. Although it might not be as super-fast as other database engines, it's forkable (allowing to make fast branches in Pijul).
- a few "mathematical" innovations:
- a good understanding of why Darcs is linearly slow in the normal case, and exponentially slow in the worst case.
- some category theory to give a hint of relevant datastructures.
- a few graph algorithms with just the right algorithmic complexity.
- a good enough data representation for patches and repositories.
(disclaimer: I'm the lead author on most of this).