From a8d4b5b440ed9ac29a0eae7fc47c144d46745078 Mon Sep 17 00:00:00 2001 From: n-peugnet Date: Fri, 1 Oct 2021 20:07:50 +0200 Subject: add some comments, summary, TODOs and infos --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++-- TODO.md | 4 ++++ exp/.gitignore | 1 + exp/README.md | 14 ++++++++++++++ exp/exp.sh | 5 +++++ 5 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 exp/README.md diff --git a/README.md b/README.md index 42c5348..e43c327 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ On imagine le _DNA-Drive_ comme un segment de _pools_ : (recipe+files) ``` -### Commit algorithme +### Algorithme du commit 1. Chargement des métadonnées du _repo_ afin de reconstruire en mémoire l'état de la dernière version : @@ -102,7 +102,7 @@ On imagine le _DNA-Drive_ comme un segment de _pools_ : 6. Calcul des différences entre la nouvelle version et la précédente pour les métadonnées (_files_ et _recipe_) et stockage des deltas ainsi obtenus. -### Restore algorithme +### Algorithme du restore 1. Chargement des métadonnées du _repo_ afin de reconstruire en mémoire l'état de la dernière version : @@ -139,6 +139,54 @@ Pour cela, il faudrait en plus stocker en ADN un mapping _chunk_ décompressé _pool_ contenant ce _chunk_ et ainsi n'avoir à lire que les _pools_ contenant des _chunks_ de ce fichier. +### Évaluation de performances + +Le dossier `exp` contient les scripts permettant de reproduire les expériences. +Les scripts ne sont prévus pour fonctionner que sur des systèmes Unix. + +#### Légende + +`backups` : le système dna-backup +`diffs` : des diffs git minimales gzippées + +### Nombre d'octets par version + +``` +============== SUMMARY ============== +backup diffs +19552 1451 +3365 638 +3557 4737 +3779 7321 +6208 2665 +6826 1496 +3655 11129 +9953 6004 +7825 2815 +3009 7551 +9052 5804 +9415 2449 +10386 3397 +7536 2143 +8521 13301 +12488 3274 +13314 2162 +13476 9681 +30227 4631 +18880 10147 +27057 4983 +23634 11488 +26857 867 +30352 1768 +20086 4373 +23713 9698 +12258 869 +5255 4188 +16356 23257 +============== TOTAL ============== +386592 164287 +``` + ## Build instructions diff --git a/TODO.md b/TODO.md index 0e31070..2ee7c6f 100644 --- a/TODO.md +++ b/TODO.md @@ -18,6 +18,10 @@ priority 1 - [ ] **TODO: Priority 3** add superblock logic. - [ ] **TODO: Priority 2** add version blocks or journal logic. - [x] command line with subcommands (like, hmm... git ? for instance). +- experiences: + - [ ] compare against UDF + - [ ] make multiple repo versions with multiple parameters + - smaller block size priority 2 ---------- diff --git a/exp/.gitignore b/exp/.gitignore index a29a67a..8267a55 100644 --- a/exp/.gitignore +++ b/exp/.gitignore @@ -2,3 +2,4 @@ !.gitignore !exp.sh !Makefile +!README.md diff --git a/exp/README.md b/exp/README.md new file mode 100644 index 0000000..21ae41f --- /dev/null +++ b/exp/README.md @@ -0,0 +1,14 @@ +# Performance evaluation experiences + +## Help + +```bash +# run experiences +make [MAX_VERSION=] + +# clean results +make mostlyclean + +# clean all +make clean +``` diff --git a/exp/exp.sh b/exp/exp.sh index 0213b2f..c031b94 100755 --- a/exp/exp.sh +++ b/exp/exp.sh @@ -17,8 +17,13 @@ cat "$commits" | while read line do hash=$(echo "$line" | cut -f1) git -C "$repo" checkout "$hash" + + # create diff for this version git -C "$repo" diff --minimal --binary --unified=0 "$prev" | gzip > "$diffs/$i.diff.gz" + + # create backup for this version ../dna-backup commit -v 2 "$repo" "$backup" + prev="$hash" let i++ if [[ $i == $max_count ]] -- cgit v1.2.3