1
0
mirror of https://github.com/restic/restic.git synced 2024-06-27 07:55:08 +02:00
restic/changelog
greatroar 7bda28f31f Chaining hash table for repository.Index
These are faster to construct but slower to access. The allocation rate
is halved, the peak memory usage almost halved compared to standard map.

Benchmark results on linux/amd64, -benchtime=3s -count=20:

name                                            old time/op    new time/op    delta
PackerManager-8                                    178ms ± 0%     178ms ± 0%     ~     (p=0.231 n=20+20)
DecodeIndex-8                                      4.54s ± 0%     4.30s ± 0%   -5.20%  (p=0.000 n=18+17)
DecodeIndexParallel-8                              4.54s ± 0%     4.30s ± 0%   -5.22%  (p=0.000 n=19+18)
IndexHasUnknown-8                                 44.4ns ± 5%    50.5ns ±11%  +13.82%  (p=0.000 n=19+17)
IndexHasKnown-8                                   48.3ns ± 0%    51.5ns ±12%   +6.68%  (p=0.001 n=16+20)
IndexAlloc-8                                       758ms ± 1%     616ms ± 1%  -18.69%  (p=0.000 n=19+19)
IndexAllocParallel-8                               234ms ± 3%     204ms ± 2%  -12.60%  (p=0.000 n=20+18)
MasterIndexLookupSingleIndex-8                     122ns ± 0%     145ns ± 9%  +18.44%  (p=0.000 n=14+20)
MasterIndexLookupMultipleIndex-8                   369ns ± 2%     429ns ± 8%  +16.27%  (p=0.000 n=20+20)
MasterIndexLookupSingleIndexUnknown-8             68.4ns ± 5%    74.9ns ±13%   +9.47%  (p=0.000 n=20+20)
MasterIndexLookupMultipleIndexUnknown-8            315ns ± 3%     369ns ±11%  +17.14%  (p=0.000 n=20+20)
MasterIndexLookupParallel/known,indices=5-8        743ns ± 1%     816ns ± 2%   +9.87%  (p=0.000 n=17+17)
MasterIndexLookupParallel/unknown,indices=5-8      238ns ± 1%     260ns ± 2%   +9.14%  (p=0.000 n=19+20)
MasterIndexLookupParallel/known,indices=10-8      1.01µs ± 3%    1.11µs ± 2%   +9.79%  (p=0.000 n=19+20)
MasterIndexLookupParallel/unknown,indices=10-8     222ns ± 0%     269ns ± 2%  +20.83%  (p=0.000 n=16+20)
MasterIndexLookupParallel/known,indices=20-8      1.06µs ± 2%    1.19µs ± 2%  +12.95%  (p=0.000 n=19+18)
MasterIndexLookupParallel/unknown,indices=20-8     413ns ± 1%     530ns ± 1%  +28.19%  (p=0.000 n=18+20)
SaveAndEncrypt-8                                  30.2ms ± 1%    30.4ms ± 0%   +0.71%  (p=0.000 n=19+19)
LoadTree-8                                         540µs ± 1%     576µs ± 1%   +6.73%  (p=0.000 n=20+20)
LoadBlob-8                                        5.64ms ± 0%    5.64ms ± 0%     ~     (p=0.883 n=18+17)
LoadAndDecrypt-8                                  5.93ms ± 0%    5.95ms ± 1%     ~     (p=0.247 n=20+19)
LoadIndex-8                                       25.1ms ± 0%    24.5ms ± 1%   -2.54%  (p=0.000 n=18+17)

name                                            old speed      new speed      delta
PackerManager-8                                  296MB/s ± 0%   296MB/s ± 0%     ~     (p=0.229 n=20+20)
SaveAndEncrypt-8                                 139MB/s ± 1%   138MB/s ± 0%   -0.71%  (p=0.000 n=19+19)
LoadBlob-8                                       177MB/s ± 0%   177MB/s ± 0%     ~     (p=0.890 n=18+17)
LoadAndDecrypt-8                                 169MB/s ± 0%   168MB/s ± 1%     ~     (p=0.227 n=20+19)

name                                            old alloc/op   new alloc/op   delta
PackerManager-8                                   91.8kB ± 0%    91.8kB ± 0%     ~     (p=0.772 n=12+19)
IndexAlloc-8                                       786MB ± 0%     400MB ± 0%  -49.04%  (p=0.000 n=20+18)
IndexAllocParallel-8                               786MB ± 0%     401MB ± 0%  -49.04%  (p=0.000 n=19+15)
SaveAndEncrypt-8                                  21.0MB ± 0%    21.0MB ± 0%   +0.00%  (p=0.000 n=19+19)

name                                            old allocs/op  new allocs/op  delta
PackerManager-8                                    1.41k ± 0%     1.41k ± 0%     ~     (all equal)
IndexAlloc-8                                        977k ± 0%      907k ± 0%   -7.18%  (p=0.000 n=20+20)
IndexAllocParallel-8                                977k ± 0%      907k ± 0%   -7.17%  (p=0.000 n=19+15)
SaveAndEncrypt-8                                    73.0 ± 0%      73.0 ± 0%     ~     (all equal)
2020-07-19 13:58:22 +02:00
..
0.6.1_2017-06-01 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.6.0_2017-05-29 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.7.1_2017-07-22 Correct typo 2018-04-30 21:41:30 +02:00
0.7.2_2017-09-13 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.7.3_2017-09-20 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.7.0_2017-07-01 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.8.1_2017-12-27 Update changelog/ for new version of calens 2018-02-16 23:05:58 +01:00
0.8.2_2018-02-17 changelog: Add release date for 0.8.2 2018-02-17 20:26:43 +01:00
0.8.3_2018-02-26 Move changelog entries to unreleased version 2018-03-05 20:32:10 +01:00
0.8.0_2017-11-26 Fix typos 2020-05-16 14:05:26 +08:00
0.9.1_2018-06-10 Fix changelog entry 2018-06-10 11:29:57 +02:00
0.9.2_2018-08-06 Create changelog/ release subdir for 0.9.2 2018-08-06 21:28:16 +02:00
0.9.3_2018-10-13 Correct summary for #1978 2018-10-28 20:55:49 +01:00
0.9.4_2019-01-06 Create changelog dir for 0.9.4 2019-01-06 21:39:56 +01:00
0.9.5_2019-04-23 Move changelog entry for #2179 2019-11-24 15:15:19 +01:00
0.9.6_2019-11-22 Move changelog entry for #2179 2019-11-24 15:15:19 +01:00
0.9.0_2018-05-21 Remove superseded feature from the CHANGELOG 2018-05-22 20:57:07 +02:00
unreleased Chaining hash table for repository.Index 2020-07-19 13:58:22 +02:00
changelog-github.tmpl Fix linebreak in GitHub changelog template 2018-02-26 21:41:37 +01:00
CHANGELOG.tmpl Fix template for new version of calens 2020-01-01 11:58:21 +01:00
TEMPLATE changelog: Fix typo in TEMPLATE. 2019-11-22 17:32:56 +01:00