-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
277 changed files
with
26,359 additions
and
7,605 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -132,6 +132,41 @@ cabal test ouroboros-consensus:test:consensus-test --test-show-details=direct | |
Note the second one cannot be used when we want to provide CLI arguments to the | ||
test-suite. | ||
|
||
# Generating documentation and setting up hoogle | ||
|
||
The documentation contains some [tikz](https://tikz.net) figures that require | ||
some preprocessing for them to be displayed. To do this, use the documentation | ||
script: | ||
|
||
```bash | ||
./scripts/docs/haddocks.sh | ||
``` | ||
|
||
If not already in your `PATH` (eg when in a Nix shell), this will install | ||
[`cabal-docspec`](https://github.com/phadej/cabal-extras/tree/master/cabal-docspec) | ||
from a binary, and then build the haddocks for the project. | ||
|
||
Often times, it is useful to have a | ||
[`hoogle`](https://github.com/ndmitchell/hoogle) server at hand, with the | ||
packages and its dependencies. Our suggestion is to install | ||
[`cabal-hoogle`](https://github.com/kokobd/cabal-hoogle) from github: | ||
|
||
```bash | ||
git clone [email protected]:kokobd/cabal-hoogle | ||
cd cabal-hoogle | ||
cabal install exe:cabal-hoogle | ||
``` | ||
|
||
and then run `cabal-hoogle`: | ||
|
||
```bash | ||
cabal-hoogle generate | ||
cabal-hoogle run -- server --local | ||
``` | ||
|
||
This will fire a `hoogle` server at https://localhost:8080/ with the local | ||
packages and their dependencies. | ||
|
||
# Contributing to the code | ||
|
||
The following sections contain some guidelines that should be followed when | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# UTxO HD | ||
|
||
This document describes the design followed to move the ledger state | ||
from memory to disk. | ||
|
||
## Expected performance | ||
|
||
On a 64G machine, with a AMD Ryzen 9 5900X processor, we obtained the following | ||
results when replaying and syncing from scratch up to slot 75M: | ||
|
||
|
||
| | Replay max mem | Replay time | Sync max mem | Sync time | | ||
|------------------|----------------|-------------|--------------|-----------| | ||
| Baseline | 13 GB | 1:51 h | 15 GB | 20:46 h | | ||
| UTxO HD (in-mem) | 13 GB | 2:50 h | 16 GB | 25:04 h | | ||
| UTxO HD (LMDB) | 8 GB | 3:15 h | 11.4 GB | 25:50 h | | ||
|
||
It is worth noting that these are single measurements, and they are only | ||
intended to provide an indication of the expected performance. | ||
|
||
These results correspond to obtained around 18 January 2023. | ||
|
||
The plots below show how replay and syncing a node from scratch progress over | ||
time, and how the memory usage evolves. | ||
|
||
![replay times](/img/utxo-hd/utxo-hd-replay-01-19-23.png) | ||
|
||
![sync times](/img/utxo-hd/utxo-hd-sync-01-19-23.png) | ||
|
||
## References | ||
|
||
* [Storing the Cardano ledger state on disk: analysis and design options (An IOHK technical report)](/pdfs/utxo-db.pdf) | ||
* [Storing the Cardano ledger state on disk: API design concepts (An IOHK technical report)](/pdfs/utxo-db-api.pdf) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Overview | ||
|
||
TODO |
Oops, something went wrong.