latest dev script, testing parser performance
This commit is contained in:
parent
78d5a0913e
commit
80ae8f5c50
73
dev.hs
Normal file → Executable file
73
dev.hs
Normal file → Executable file
@ -1,3 +1,4 @@
|
||||
#!/usr/bin/env runghc
|
||||
-- dev.hs, for miscellaneous profiling/benchmarking/testing.
|
||||
|
||||
-- {-# LANGUAGE DeriveDataTypeable, StandaloneDeriving, DeriveGeneric #-}
|
||||
@ -50,44 +51,48 @@ timeReadJournal msg s = timeit msg $ either error id <$> readJournal Nothing Not
|
||||
main = do
|
||||
-- putStrLn $ regexReplaceCI "^aa" "xx" "aa:bb:cc:dd:ee"
|
||||
|
||||
(_t0,_j) <- timeit ("read "++journal) $ either error id <$> readJournalFile Nothing Nothing True journal
|
||||
return ()
|
||||
-- printf "Total: %0.2fs\n" (sum [t0,t1,t2,t3,t4])
|
||||
|
||||
-- -- read the input journal
|
||||
s <- readFile journal
|
||||
j <- either error id <$> readJournal Nothing Nothing True Nothing s
|
||||
-- putStrLn $ show $ length $ jtxns j -- sanity check we parsed it all
|
||||
let accts = map paccount $ journalPostings j
|
||||
-- s <- readFile journal
|
||||
-- j <- either error id <$> readJournal Nothing Nothing True Nothing s
|
||||
-- -- putStrLn $ show $ length $ jtxns j -- sanity check we parsed it all
|
||||
-- let accts = map paccount $ journalPostings j
|
||||
|
||||
Criterion.Main.defaultMainWith defaultConfig $ [
|
||||
-- bench ("toRegexCI") $ whnf toRegexCI "^aa"
|
||||
-- ,bench ("toRegexCI") $ whnfIO (return $ toRegexCI "^aa")
|
||||
-- ,bench ("toRegexCI x 1000") $ nfIO $ sequence_ (map (return . toRegexCI) (replicate 1000 "^aa"))
|
||||
-- bench ("regexReplaceCI") $ nf (regexReplaceCI "aa" "xx") "aa:bb:cc:dd:ee:1"
|
||||
-- ,bench ("regexReplaceCI x 1000") $ nf (map (regexReplaceCI "bb" "xx")) (replicate 1000 "aa:bb:cc:dd:ee;2")
|
||||
-- ,bench ("regexReplaceCIMemo") $ nf (regexReplaceCIMemo "ee" "xx") "aa:bb:cc:dd:ee:5"
|
||||
-- ,bench ("regexReplaceCIMemo x 1000") $ nf (map (regexReplaceCIMemo "ff" "xx")) (replicate 1000 "aa:bb:cc:dd:ee:6")
|
||||
bench ("apply one regex alias to one posting") $
|
||||
nf (map (accountNameApplyAliases [RegexAlias "^1:" "x:"])) (map paccount $ take 1 $ journalPostings j)
|
||||
-- ,bench ("apply one regex alias to 20000 postings") $
|
||||
-- nf (map (accountNameApplyAliases [RegexAlias "^1:" "x:"])) (map paccount $ journalPostings j)
|
||||
-- ,bench ("apply 3 regex aliases to 20000 postings") $
|
||||
-- nf (map (accountNameApplyAliases [
|
||||
-- RegexAlias "^1:" "x:"
|
||||
-- ,RegexAlias "^2:" "x:"
|
||||
-- ,RegexAlias "^3:" "x:"
|
||||
-- ])) accts
|
||||
-- Criterion.Main.defaultMainWith defaultConfig $ [
|
||||
-- -- bench ("toRegexCI") $ whnf toRegexCI "^aa"
|
||||
-- -- ,bench ("toRegexCI") $ whnfIO (return $ toRegexCI "^aa")
|
||||
-- -- ,bench ("toRegexCI x 1000") $ nfIO $ sequence_ (map (return . toRegexCI) (replicate 1000 "^aa"))
|
||||
-- -- bench ("regexReplaceCI") $ nf (regexReplaceCI "aa" "xx") "aa:bb:cc:dd:ee:1"
|
||||
-- -- ,bench ("regexReplaceCI x 1000") $ nf (map (regexReplaceCI "bb" "xx")) (replicate 1000 "aa:bb:cc:dd:ee;2")
|
||||
-- -- ,bench ("regexReplaceCIMemo") $ nf (regexReplaceCIMemo "ee" "xx") "aa:bb:cc:dd:ee:5"
|
||||
-- -- ,bench ("regexReplaceCIMemo x 1000") $ nf (map (regexReplaceCIMemo "ff" "xx")) (replicate 1000 "aa:bb:cc:dd:ee:6")
|
||||
-- bench ("apply one regex alias to one posting") $
|
||||
-- nf (map (accountNameApplyAliases [RegexAlias "^1:" "x:"])) (map paccount $ take 1 $ journalPostings j)
|
||||
-- -- ,bench ("apply one regex alias to 20000 postings") $
|
||||
-- -- nf (map (accountNameApplyAliases [RegexAlias "^1:" "x:"])) (map paccount $ journalPostings j)
|
||||
-- -- ,bench ("apply 3 regex aliases to 20000 postings") $
|
||||
-- -- nf (map (accountNameApplyAliases [
|
||||
-- -- RegexAlias "^1:" "x:"
|
||||
-- -- ,RegexAlias "^2:" "x:"
|
||||
-- -- ,RegexAlias "^3:" "x:"
|
||||
-- -- ])) accts
|
||||
|
||||
-- ,bench ("readJournal") $ whnfIO $
|
||||
-- either error id <$>
|
||||
-- readJournal Nothing Nothing True Nothing s
|
||||
-- ,bench ("readJournal with aliases") $ whnfIO $
|
||||
-- either error id <$>
|
||||
-- readJournal Nothing Nothing True Nothing (
|
||||
-- unlines [
|
||||
-- "alias /^fb:/=xx \n"
|
||||
-- ,"alias /^f1:/=xx \n"
|
||||
-- ,"alias /^e7:/=xx \n"
|
||||
-- ] ++ s)
|
||||
-- -- ,bench ("readJournal") $ whnfIO $
|
||||
-- -- either error id <$>
|
||||
-- -- readJournal Nothing Nothing True Nothing s
|
||||
-- -- ,bench ("readJournal with aliases") $ whnfIO $
|
||||
-- -- either error id <$>
|
||||
-- -- readJournal Nothing Nothing True Nothing (
|
||||
-- -- unlines [
|
||||
-- -- "alias /^fb:/=xx \n"
|
||||
-- -- ,"alias /^f1:/=xx \n"
|
||||
-- -- ,"alias /^e7:/=xx \n"
|
||||
-- -- ] ++ s)
|
||||
|
||||
]
|
||||
-- ]
|
||||
|
||||
-- (t0,j0) <- timeReadJournal ("read "++journal) s
|
||||
-- (t0',j0') <- timeReadJournal ("read "++journal++" again") s
|
||||
|
||||
Loading…
Reference in New Issue
Block a user