rustic icon indicating copy to clipboard operation
rustic copied to clipboard

Add jemalloc as allocator for supported platforms

Open aawsome opened this issue 3 years ago • 3 comments

maybe this helps with #48

aawsome avatar Jul 03 '22 08:07 aawsome

Actually I cannot judge if this is worthwhile enhancement. Can anyone help test this with different repo sizes and give some feedback about the results?

aawsome avatar Jul 08 '22 08:07 aawsome

Repo 1

repoinfo:

 File type | Count | Total Size
-----------+-------+------------
 Key       |     2 |      930 B
 Snapshot  |   188 |  103.2 kiB
 Index     |    20 |   10.5 MiB
 Pack      |  1548 |    5.6 GiB
 Total     |  1758 |    5.6 GiB

scanning index...
[00:00:00] ████████████████████████████████████████         20/20
 Blob type | Count | Total Size | Total Size in Packs
-----------+-------+------------+---------------------
 Tree      | 27108 |  114.5 MiB |           115.4 MiB
 Data      | 64654 |    5.5 GiB |             5.5 GiB
 Total     | 91762 |    5.6 GiB |             5.6 GiB

restic 0.13.1:

/usr/bin/time restic --quiet --no-cache check
10.69user 0.50system 0:06.69elapsed 167%CPU (0avgtext+0avgdata 79328maxresident)k
242312inputs+232outputs (0major+23769minor)pagefaults 0swaps

rustic 0.2.1:

/usr/bin/time rustic_0.2.1 -r /srv/REPO1 check --quiet --no-cache
enter repository password:
4.01user 0.48system 0:02.94elapsed 152%CPU (0avgtext+0avgdata 39468maxresident)k
1472inputs+0outputs (1major+17563minor)pagefaults 0swaps

rustic PR54:

/usr/bin/time rustic_pr54 --quiet --no-cache -r /srv/REPO1 check
enter repository password:
4.06user 0.49system 0:03.11elapsed 146%CPU (0avgtext+0avgdata 39472maxresident)k
0inputs+0outputs (0major+17567minor)pagefaults 0swaps

Repo2

repoinfo:

 File type | Count | Total Size
-----------+-------+------------
 Key       |     2 |      929 B
 Snapshot  |   799 |  282.8 kiB
 Index     |   560 |   54.9 MiB
 Pack      | 47752 |  212.2 GiB
 Total     | 49113 |  212.3 GiB

scanning index...
[00:00:00] ████████████████████████████████████████        560/560
 Blob type |  Count | Total Size | Total Size in Packs
-----------+--------+------------+---------------------
 Tree      |  21986 |    7.9 GiB |             7.9 GiB
 Data      | 426799 |  203.8 GiB |           203.8 GiB
 Total     | 448785 |  211.7 GiB |           211.7 GiB

restic 0.13.1:

/usr/bin/time restic --quiet --no-cache check
574.35user 4.89system 4:57.09elapsed 194%CPU (0avgtext+0avgdata 156264maxresident)k
1611136inputs+456outputs (0major+571117minor)pagefaults 0swaps

rustic 0.2.1:

/usr/bin/time rustic_0.2.1 -r /srv/REPO2 check --quiet --no-cache
216.63user 4.42system 1:53.45elapsed 194%CPU (0avgtext+0avgdata 61556maxresident)k
480inputs+0outputs (0major+28381minor)pagefaults 0swaps

rustic PR54:

/usr/bin/time rustic_pr54 --quiet --no-cache -r /srv/REPO2 check
218.07user 4.20system 1:53.80elapsed 195%CPU (0avgtext+0avgdata 61756maxresident)k
0inputs+0outputs (0major+28453minor)pagefaults 0swaps

Repo 3

repoinfo:

 File type |  Count | Total Size
-----------+--------+------------
 Key       |      2 |      928 B
 Snapshot  |    196 |   62.1 kiB
 Index     |     24 |  153.7 MiB
 Pack      | 269934 |    1.3 TiB
 Total     | 270156 |    1.3 TiB

scanning index...
[00:00:01] ████████████████████████████████████████         24/24
 Blob type |   Count | Total Size | Total Size in Packs
-----------+---------+------------+---------------------
 Tree      |   30787 |  360.4 MiB |           361.3 MiB
 Data      | 1125102 |    1.3 TiB |             1.3 TiB
 Total     | 1155889 |    1.3 TiB |             1.3 TiB

restic 0.13.1:

/usr/bin/time restic --quiet --no-cache check
38.51user 2.19system 0:24.34elapsed 167%CPU (0avgtext+0avgdata 504448maxresident)k
747816inputs+328outputs (1major+232687minor)pagefaults 0swaps

rustic 0.2.1:

/usr/bin/time rustic_0.2.1 -r /srv/REPO3 check --quiet --no-cache
15.24user 1.74system 0:11.43elapsed 148%CPU (0avgtext+0avgdata 237708maxresident)k
25664inputs+0outputs (0major+186603minor)pagefaults 0swaps

rustic PR54:

/usr/bin/time rustic_pr54 --quiet --no-cache -r /srv/REPO3 check
15.28user 1.67system 0:10.87elapsed 155%CPU (0avgtext+0avgdata 229464maxresident)k
0inputs+0outputs (0major+184477minor)pagefaults 0swaps

dimejo avatar Jul 08 '22 16:07 dimejo

@dimejo Thanks for the results! Now, in your settings this PR doesn't change much... Good to see however, that rustic seems to have desired performance in all cases :+1: :smile:

I think I just leave this PR open. So anyone can try out if this helps. If at some point a clearer result comes up , we can decide what to do.

aawsome avatar Jul 10 '22 20:07 aawsome

Maybe we can rebase it, hide it behind a feature flag and merge it?

simonsan avatar Jul 16 '23 22:07 simonsan

Closing in favour of #897

simonsan avatar Sep 19 '23 17:09 simonsan