From a964012fc36d22e4554dd12e3594579fb3190501 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 29 Jan 2012 22:55:06 -0400 Subject: switch to the strict state monad I had not realized what a memory leak the lazy state monad could be, although I have not seen much evidence of actual leaking in git-annex. However, if running git-annex on a great many files, this could matter. The additional Utility.State.changeState adds even more strictness, avoiding a problem I saw in github-backup where repeatedly modifying state built up a huge pile of thunks. --- Common.hs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Common.hs') diff --git a/Common.hs b/Common.hs index 385d1aba4..fb998214b 100644 --- a/Common.hs +++ b/Common.hs @@ -3,7 +3,7 @@ module Common (module X) where import Control.Monad as X hiding (join) import Control.Monad.IfElse as X import Control.Applicative as X -import Control.Monad.State as X (liftIO) +import Control.Monad.State.Strict as X (liftIO) import Control.Exception.Extensible as X (IOException) import Data.Maybe as X -- cgit v1.2.3