This commit implements a new feature, enabled by --cache flag.
Caching can dramatically improve grouping speed on subsequent runs of
fclones at the expense of some additional
storage space needed for the cache. Caching also allows for resuming
work quickly after interruption, so it is
recommended if you plan to run fclones on huge data sets.
The cache works as follows:
Each newly computed file hash is persisted in the cache together with
some metadata of the file such as its modification timestamp and
length.
Whenever a file hash needs to be computed, it is first looked up in
the cache. The cached hash is used if the current metadata of the
file strictly matches the metadata stored in the cache.
This commit implements a new feature, enabled by --cache flag.
Caching can dramatically improve grouping speed on subsequent runs of
fclones
at the expense of some additional storage space needed for the cache. Caching also allows for resuming work quickly after interruption, so it is recommended if you plan to runfclones
on huge data sets.The cache works as follows: