Skip to content

Commit 4317f5b

Browse files
committed
reporting of performance (time, time p step)
1 parent d3f465e commit 4317f5b

File tree

3 files changed

+17
-7
lines changed

3 files changed

+17
-7
lines changed

chr-core/chr-core.cabal

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,6 @@ library
5151
-- fclabels >= 2.0.3,
5252
chr-data >= 0.1.0.0,
5353
chr-pretty >= 0.1.0.0,
54-
logict-state >= 0.1.0.2
54+
logict-state >= 0.1.0.4
5555
hs-source-dirs: src
5656
default-language: Haskell2010

chr-core/src/CHR/Solve/MonoBacktrackPrio.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ module CHR.Solve.MonoBacktrackPrio
2525
, CHRGlobState(..)
2626
, emptyCHRGlobState
2727
, chrgstVarToNmMp
28+
, chrgstStatNrSolveSteps
2829

2930
, CHRBackState(..)
3031
, emptyCHRBackState
@@ -649,8 +650,8 @@ runCHRMonoBacktrackPrioT
649650
-> CHRBackState cnstr bprio subst env
650651
-- -> CHRPrioEvaluatableVal bprio
651652
-> CHRMonoBacktrackPrioT cnstr guard bprio prio subst env m (SolverResult subst)
652-
-> m [SolverResult subst]
653-
runCHRMonoBacktrackPrioT gs bs {- bp -} m = observeAllT (gs, bs {- _chrbstBacktrackPrio=bp -}) m
653+
-> m ([SolverResult subst], (CHRGlobState cnstr guard bprio prio subst env m, CHRBackState cnstr bprio subst env))
654+
runCHRMonoBacktrackPrioT gs bs {- bp -} m = observeStateAllT (gs, bs {- _chrbstBacktrackPrio=bp -}) m
654655

655656
-------------------------------------------------------------------------------------------
656657
--- Solver: Intermediate structures
@@ -787,13 +788,13 @@ defaultCHRSolveOpts
787788
-------------------------------------------------------------------------------------------
788789

789790
{-# INLINABLE chrSolve #-}
790-
{-# SPECIALIZE chrSolve
791+
{- # SPECIALIZE chrSolve
791792
:: ( MonoBacktrackPrio c g bp p s e IO
792793
, PP s
793794
) => CHRSolveOpts
794795
-> e
795796
-> CHRMonoBacktrackPrioT c g bp p s e IO (SolverResult s)
796-
#-}
797+
# -}
797798
-- | (Under dev) solve
798799
chrSolve
799800
:: forall c g bp p s e m .

chr-lang/src/CHR/Language/Examples/Term/Run.hs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ module CHR.Language.Examples.Term.Run
99
import Data.Maybe
1010
import System.IO
1111
import Data.Time.Clock.POSIX
12+
import Data.Time.Clock.System
13+
import Data.Time.Clock.TAI
1214
import Control.Monad
1315
import Control.Monad.IO.Class
1416
import Control.Monad.State.Class
@@ -89,10 +91,17 @@ runFile runopts f = do
8991
liftIO $ putStrLn $ "Written visualization as " ++ fileName
9092
else (return ())
9193
return r
92-
runCHRMonoBacktrackPrioT (chrgstVarToNmMp ^= Lk.inverse (flip (,)) varToNmMp $ emptyCHRGlobState) (emptyCHRBackState {- _chrbstBacktrackPrio=0 -}) {- 0 -} mbp
94+
tBef <- getSystemTime
95+
(_,(gs,_)) <- runCHRMonoBacktrackPrioT
96+
(chrgstVarToNmMp ^= Lk.inverse (flip (,)) varToNmMp $ emptyCHRGlobState)
97+
(emptyCHRBackState {- _chrbstBacktrackPrio=0 -}) {- 0 -}
98+
mbp
99+
tAft <- getSystemTime
100+
let tDif = systemToTAITime tAft `diffAbsoluteTime` systemToTAITime tBef
101+
nSteps = gs ^. MBP.chrgstStatNrSolveSteps
93102

94103
-- done
95-
msg $ "DONE " ++ f
104+
msg $ "DONE (" ++ show tDif ++ " / " ++ show nSteps ++ " = " ++ show (tDif / fromIntegral nSteps) ++ ") " ++ f
96105

97106
where
98107
msg m = putStrLn $ "---------------- " ++ m ++ " ----------------"

0 commit comments

Comments
 (0)