git-annex/Database
Joey Hess fe1b2dfb4b
speed up very first tree import by 25%
Reading from the cidsdb is responsible for about 25% of the runtime of
an import. Since the cidmap is used to store the same information in
ram, the cidsdb is not written to during an import any longer. And so,
if it started off empty (and updateFromLog wasn't needed), those reads
can just be skipped.

This is kind of a cheesy optimisation, since after any import from any
special remote, the database will no longer be empty, so it's a single
use optimisation. But it's probably not uncommon to start by importing a
lot of files, and it can save a lot of time then.

Sponsored-by: Brock Spratlen on Patreon
2023-06-02 13:30:30 -04:00
..
Keys Sped up sqlite inserts 2x when built with persistent 2.14.5.0 2023-03-31 14:38:25 -04:00
Benchmark.hs filter out control characters in error messages 2023-04-10 13:50:51 -04:00
ContentIdentifier.hs speed up very first tree import by 25% 2023-06-02 13:30:30 -04:00
Export.hs Sped up sqlite inserts 2x when built with persistent 2.14.5.0 2023-03-31 14:38:25 -04:00
Fsck.hs Sped up sqlite inserts 2x when built with persistent 2.14.5.0 2023-03-31 14:38:25 -04:00
Handle.hs improve error message when commitDb' fails due to disk full or IO error 2023-04-19 12:43:30 -04:00
Init.hs fix init .git/annex/ perms for core.sharedRepository 2023-04-26 16:14:21 -04:00
Keys.hs Revert "revert recent bug fix temporarily for release" 2023-02-14 14:11:23 -04:00
Queue.hs fix MVar deadlock when sqlite commit fails 2022-06-06 12:16:55 -04:00
Types.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Utility.hs Sped up sqlite inserts 2x when built with persistent 2.14.5.0 2023-03-31 14:38:25 -04:00