From 83bcba17ae74428afb783d8241d8a9ca3ca92509 Mon Sep 17 00:00:00 2001 From: voidlizard Date: Tue, 24 Dec 2024 12:11:00 +0300 Subject: [PATCH] works single-treaded --- hbs2-git3/app/Main.hs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/hbs2-git3/app/Main.hs b/hbs2-git3/app/Main.hs index 88098a81..4059588e 100644 --- a/hbs2-git3/app/Main.hs +++ b/hbs2-git3/app/Main.hs @@ -88,6 +88,7 @@ import Data.Generics.Labels import Data.Generics.Product import Lens.Micro.Platform +import Streaming qualified as S import Streaming.Prelude qualified as S import System.Exit qualified as Q import System.Environment qualified as E @@ -1834,7 +1835,7 @@ theDict = do lbs <- liftIO$ LBS.readFile fn runConsumeLBS (ZstdL.decompress lbs) $ readLogFileLBS () $ \h s _ -> do - debug $ "object" <+> pretty h <+> pretty s + liftIO $ print $ "object" <+> pretty h <+> pretty s _ -> throwIO (BadFormException @C nil) @@ -2142,8 +2143,13 @@ theDict = do seed <- randomIO @Word16 logFile <- ContT $ withBinaryFile (show $ "export-" <> pretty seed <> ".log") AppendMode - l <- lift $ async $ writeSections (atomically (readTBQueue sourceQ)) \output -> do - liftIO $ LBS.hPutStr logFile output + l <- lift $ async $ do + stream <- ZstdS.compress maxCLevel + q <- newTQueueIO + writeSections (atomically (readTBQueue sourceQ)) (atomically . writeTQueue q . Just) + atomically $ writeTQueue q Nothing + writeCompressedStreamZstd stream (atomically $ readTQueue q) $ \shit -> do + liftIO $ LBS.hPutStr logFile shit link l