summaryrefslogtreecommitdiff
path: root/Assistant/Types
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-04-23 14:30:54 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-04-23 14:54:54 -0400
commit5fbb5ece11246256fd947b78f89d512e37e47cf5 (patch)
tree3f720c247f6c02aaa56d454253c7967d07cf6e56 /Assistant/Types
parent13b3c84e1030d3ca24593d49cf4fd3a603a3bbda (diff)
more efficient data type for ChangeChan
Making this a tset of lists of Changes, rather than a tset of Changes makes refilling it, in batch mode, much more efficient. Rather than needing to add every Change it's collected one at a time, it can add them in one fast batch operation. It would be more efficient yet to use a Set, but that would need an Eq instance for InodeCache.
Diffstat (limited to 'Assistant/Types')
-rw-r--r--Assistant/Types/Changes.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/Assistant/Types/Changes.hs b/Assistant/Types/Changes.hs
index 9729acfbd..3b6e8501a 100644
--- a/Assistant/Types/Changes.hs
+++ b/Assistant/Types/Changes.hs
@@ -22,7 +22,7 @@ changeInfoKey (AddKeyChange k) = Just k
changeInfoKey (LinkChange (Just k)) = Just k
changeInfoKey _ = Nothing
-type ChangeChan = TSet Change
+type ChangeChan = TSet [Change]
newChangeChan :: IO ChangeChan
newChangeChan = atomically newTSet