diff options
author | Ben Sima <ben@bsima.me> | 2022-07-25 18:10:13 -0400 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2022-07-25 18:10:13 -0400 |
commit | 4e4e88f1d58063f3e24195a6299f3bcdf0c304d2 (patch) | |
tree | 6753c96f686a8abe4b1571ec95ed7e282585b7d3 /Biz | |
parent | 0eb939a2b1a2886f9d52f3bd764614f43330e96a (diff) |
Concurrently analyze transitive dependencies
Before:
ϟ time bild Biz/Dragons.hs
good: bild: Biz/Dragons.hs
real 0m31.587s
user 0m25.073s
sys 0m6.446s
After:
ϟ time bild Biz/Dragons.hs
good: bild: Biz/Dragons.hs
real 0m17.111s
user 0m39.719s
sys 0m9.145s
So yeah this is a good speedup.
Diffstat (limited to 'Biz')
-rw-r--r-- | Biz/Bild.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Biz/Bild.hs b/Biz/Bild.hs index 58bf8e6..270508f 100644 --- a/Biz/Bild.hs +++ b/Biz/Bild.hs @@ -293,7 +293,7 @@ detectImports (Namespace _ Namespace.Hs) contentLines = do |> map (Namespace.fromHaskellModule .> Namespace.toPath) |> traverse Dir.makeAbsolute +> filterM Dir.doesFileExist - +> traverse analyze -- surely this is a bottleneck ripe for caching + +> Async.mapConcurrently analyze /> catMaybes /> map langdeps /> mconcat |