2
2
mirror of https://github.com/octoleo/restic.git synced 2024-12-22 02:48:55 +00:00
restic/internal/index
Michael Eischer fc05e35a08 index: let indexmap.Each iterate in allocation order
Iterating through the indexmap according to the bucket order has the
problem that all indexEntries are accessed in random order which is
rather cache inefficient.

As we already keep a list of all allocated blocks, just iterate through
it. This allows iterating through a batch of indexEntries without random
memory accesses. In addition, the packID will likely remain similar
across multiple blobs as all blobs of a pack file are added as a single
batch.
2023-05-30 20:12:36 +02:00
..
index_parallel_test.go repository: split index into a separate package 2022-10-08 21:15:34 +02:00
index_parallel.go repository: Reuse buffers in Repository.LoadUnpacked 2023-01-30 22:01:01 +01:00
index_test.go index: Optimize generatePackList 2023-01-14 20:41:07 +01:00
index.go index: Optimize generatePackList 2023-01-14 20:41:07 +01:00
indexmap_test.go repository: split index into a separate package 2022-10-08 21:15:34 +02:00
indexmap.go index: let indexmap.Each iterate in allocation order 2023-05-30 20:12:36 +02:00
master_index_test.go index: add garbage collection benchmark 2023-05-29 00:23:04 +02:00
master_index.go repository: split index into a separate package 2022-10-08 21:15:34 +02:00
testing.go repository: split index into a separate package 2022-10-08 21:15:34 +02:00