aboutsummaryrefslogtreecommitdiffstats
path: root/app/Issue.hs
diff options
context:
space:
mode:
authorLibravatar Alexander Foremny <aforemny@posteo.de>2023-11-07 22:12:00 +0100
committerLibravatar Alexander Foremny <aforemny@posteo.de>2023-11-07 22:12:02 +0100
commit83e40ef27b2291ff7308243cbecf9431f3489554 (patch)
tree0efddedf9767be23cb3ad4500372d7b0539e916d /app/Issue.hs
parent60fb967e2de7ab290f46d4a84fd920dfe8d264b0 (diff)
fix performance when generating history
At some point, we noticed a performance drop when generating the history. It turns out that per-file granularity is not performant anymore, presumably since we're analizing changed files. This restores performance by switching to per-commit granularity instead.
Diffstat (limited to 'app/Issue.hs')
-rw-r--r--app/Issue.hs12
1 files changed, 2 insertions, 10 deletions
diff --git a/app/Issue.hs b/app/Issue.hs
index e6515a9..54ef5e4 100644
--- a/app/Issue.hs
+++ b/app/Issue.hs
@@ -3,7 +3,7 @@ module Issue
Provenance (..),
fromMatch,
id,
- getIssuesPar,
+ getIssues,
)
where
@@ -22,7 +22,6 @@ import Issue.Provenance (Provenance (..), commitFromHEAD)
import Issue.Tag (Tag (..))
import Issue.Tag qualified as I
import Issue.Text qualified as I
-import Parallel (parMapM)
import Process (proc, sh)
import System.FilePath (takeExtension)
import System.Process.Typed (setWorkingDir)
@@ -102,13 +101,9 @@ stripIssueMarkers text =
-- | Get all issues in the given directory and files. Runs
-- parallelized.
-getIssuesPar :: FilePath -> [FilePath] -> IO [[Issue]]
-getIssuesPar cwd files =
- parMapM (handle forgetGetIssuesExceptions . getIssues cwd) files
-
-- | Get all issues in the given directory and file.
getIssues :: FilePath -> FilePath -> IO [Issue]
-getIssues cwd filename = do
+getIssues cwd filename = handle (\(_ :: E.UnknownFileExtension) -> pure []) $ do
let extension = takeExtension filename
treeGrepperLanguage =
-- TODO Add support for all tree-grepper supported files
@@ -151,6 +146,3 @@ getIssues cwd filename = do
fixTreeGrepper :: G.Result -> G.Result
fixTreeGrepper treeGrepperResult =
treeGrepperResult {G.matches = G.merge treeGrepperResult.matches}
-
-forgetGetIssuesExceptions :: E.UnknownFileExtension -> IO [a]
-forgetGetIssuesExceptions _ = pure []