Sped up query commands that read the git-annex branch by around 5%
The only price paid is one additional MVar read per write to the journal. Presumably writing a journal file dominiates over a MVar read time by several orders of magnitude. --batch does not get the speedup because then it needs to notice when another process has made a change. Also made the assistant and other damon modes bypass the optimisation, which would not help them anyway.
This commit is contained in:
parent
aba905152a
commit
aeca7c2207
14 changed files with 101 additions and 25 deletions
|
@ -8,9 +8,17 @@
|
|||
module Types.BranchState where
|
||||
|
||||
data BranchState = BranchState
|
||||
{ branchUpdated :: Bool -- has the branch been updated this run?
|
||||
, indexChecked :: Bool -- has the index file been checked to exist?
|
||||
{ branchUpdated :: Bool
|
||||
-- ^ has the branch been updated this run?
|
||||
, indexChecked :: Bool
|
||||
-- ^ has the index file been checked to exist?
|
||||
, journalIgnorable :: Bool
|
||||
-- ^ can reading the journal be skipped, while still getting
|
||||
-- sufficiently up-to-date information from the branch?
|
||||
, journalNeverIgnorable :: Bool
|
||||
-- ^ should the journal always be read even if it would normally
|
||||
-- be safe to skip it?
|
||||
}
|
||||
|
||||
startBranchState :: BranchState
|
||||
startBranchState = BranchState False False
|
||||
startBranchState = BranchState False False False False
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue