Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Perf.Report
Description
Reporting on performance, potentially checking versus a canned results.
Synopsis
- type Name = String
- data Header
- parseHeader :: Parser Header
- data CompareLevels = CompareLevels {}
- defaultCompareLevels :: CompareLevels
- parseCompareLevels :: CompareLevels -> Parser CompareLevels
- data ReportOptions = ReportOptions {
- reportN :: Int
- reportLength :: Int
- reportClock :: Clock
- reportStatDType :: StatDType
- reportMeasureType :: MeasureType
- reportGolden :: Golden
- reportHeader :: Header
- reportCompare :: CompareLevels
- reportChart :: PerfChartOptions
- reportDump :: PerfDumpOptions
- reportGC :: Bool
- reportOrder :: OrderOptions
- reportTasty :: Bool
- defaultReportOptions :: ReportOptions
- parseReportOptions :: ReportOptions -> Parser ReportOptions
- data PerfDumpOptions = PerfDumpOptions {
- dumpFilepath :: FilePath
- doDump :: Bool
- defaultPerfDumpOptions :: PerfDumpOptions
- parsePerfDumpOptions :: PerfDumpOptions -> Parser PerfDumpOptions
- fromDump :: PerfDumpOptions -> IO (Map Text [[Double]])
- report :: ReportOptions -> Map [Text] [Double] -> IO ()
- reportMain :: Example -> ReportOptions -> Name -> (Int -> PerfT IO [[Double]] a) -> IO a
- writeResult :: FilePath -> Map [Text] Double -> IO ()
- readResult :: FilePath -> IO (Either String (Map [Text] Double))
- data CompareResult = CompareResult {}
- compareNote :: Ord a => CompareLevels -> Map a Double -> Map a Double -> Map a CompareResult
- report2D :: Map [Text] Double -> IO ()
- data Golden = Golden {}
- defaultGolden :: Golden
- parseGolden :: Parser Golden
- replaceDefaultFilePath :: FilePath -> ReportOptions -> ReportOptions
- parseClock :: Parser Clock
- reportToConsole :: [Text] -> IO ()
Documentation
Whether to include header information.
data CompareLevels Source #
Levels of geometric difference in compared performance that triggers reporting.
Constructors
CompareLevels | |
Fields
|
Instances
Show CompareLevels Source # | |
Defined in Perf.Report Methods showsPrec :: Int -> CompareLevels -> ShowS # show :: CompareLevels -> String # showList :: [CompareLevels] -> ShowS # | |
Eq CompareLevels Source # | |
Defined in Perf.Report Methods (==) :: CompareLevels -> CompareLevels -> Bool # (/=) :: CompareLevels -> CompareLevels -> Bool # |
defaultCompareLevels :: CompareLevels Source #
>>>
defaultCompareLevels
CompareLevels {errorLevel = 0.2, warningLevel = 5.0e-2, improvedLevel = 5.0e-2}
parseCompareLevels :: CompareLevels -> Parser CompareLevels Source #
Command-line parser for CompareLevels
data ReportOptions Source #
Options for production of a performance report.
Constructors
ReportOptions | |
Fields
|
Instances
defaultReportOptions :: ReportOptions Source #
Default reporting options
parseReportOptions :: ReportOptions -> Parser ReportOptions Source #
Command-line parser for ReportOptions
data PerfDumpOptions Source #
Constructors
PerfDumpOptions | |
Fields
|
Instances
parsePerfDumpOptions :: PerfDumpOptions -> Parser PerfDumpOptions Source #
Parse charting options.
report :: ReportOptions -> Map [Text] [Double] -> IO () Source #
Report results
If a goldenFile is checked, and performance has degraded, the function will exit with ExitFailure
so that 'cabal bench' and other types of processes can signal performance issues.
reportMain :: Example -> ReportOptions -> Name -> (Int -> PerfT IO [[Double]] a) -> IO a Source #
Run and report a benchmark with the specified reporting options.
data CompareResult Source #
Comparison data between two results.
Constructors
CompareResult | |
Instances
Show CompareResult Source # | |
Defined in Perf.Report Methods showsPrec :: Int -> CompareResult -> ShowS # show :: CompareResult -> String # showList :: [CompareResult] -> ShowS # | |
Eq CompareResult Source # | |
Defined in Perf.Report Methods (==) :: CompareResult -> CompareResult -> Bool # (/=) :: CompareResult -> CompareResult -> Bool # |
compareNote :: Ord a => CompareLevels -> Map a Double -> Map a Double -> Map a CompareResult Source #
Compare two results and produce some notes given level triggers.
Golden file options.
defaultGolden :: Golden Source #
Default is Golden "other/bench.perf" CheckGolden NoRecordGolden
parseGolden :: Parser Golden Source #
Parse command-line golden file options.
replaceDefaultFilePath :: FilePath -> ReportOptions -> ReportOptions Source #
Replace the Golden file path with the suggested stem, but only if the user did not specify a specific file path at the command line.
reportToConsole :: [Text] -> IO () Source #