úÎbl\s[      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP Q R S T U V W X Y Z [GHC experimentalbos@serpentine.com+A benchmark may consist of either a single  item  with a name, created with  ", or a (possibly nested) group of  s, created with  . $A benchmarkable function or action. Create a single benchmark. "A name to identify the benchmark. 7Group several benchmarks together under a common name. ,A name to identify the group of benchmarks. %Benchmarks to group under this name. >Retrieve the names of all benchmarks. Grouped benchmarks are ) prefixed with the name of the group they're in.         GHC experimentalbos@serpentine.com#!Top-level program configuration. The "version" banner to print. Confidence interval to use. &Whether to run the GC between passes. What to plot, and where. 'Whether to print information and exit.  Number of resamples to perform. Number of samples to collect. Filename of summary CSV Whether to run verbosely. What to plot. Benchmark timings. *Kernel density estimate of probabilities. !BSupported plot outputs. Some outputs support width and height in  varying units. A point is 1/72 of an inch (0.353mm). "+Display in a window, dimensions in pixels. # SVG file, dimensions in points. $ PNG file, dimensions in pixels. % PDF file, dimensions in points. &Textual CSV file. 'APrint some information and exit, without running any benchmarks. ( Print a help/usaage message. )&Print version information (if known). *"Print a list of known benchmarks. ++Do not actually print-and-exit. (Default.) ,-Control the amount of information displayed. -./0(A configuration with sensible defaults. 1Constructor for \] values. 2Deconstructor for \] values. Field to access. Default to use. ^_! !"#$%&'()*+,-./012!!&%$#" '+*)(,/.-021!   !&%$#""#$%&'+*)(()*+,/.--./012GHC experimentalbos@serpentine.com34567345673456734567GHC experimentalbos@serpentine.com `abcd8Print a "normal" note. 9Print verbose output. :Print an error message. ;#Add to summary CSV (if applicable) 89:;8:9;89:;GHC experimentalbos@serpentine.com<=Plot timing data. The kind of output desired. Benchmark name.  Timing data. >Plot kernel density estimate. The kind of output desired. Benchmark name. Range of x-axis "Points at which KDE was computed. Kernel density estimates. efgh?Get rid of spaces and other potentially troublesome characters  from output. <=>>=<<=>GHC experimentalbos@serpentine.com?AA description of the extent to which outliers in the sample data 0 affect the sample mean and standard deviation. @Above 50% (i.e. measurements  are useless). ABetween 10% and 50%. BBetween 1% and 10%. CLess than 1% effect. D8Outliers from sample data, calculated using the boxplot  technique. EFG4More than 3 times the IQR below the first quartile. H:Between 1.5 and 3 times the IQR below the first quartile. I:Between 1.5 and 3 times the IQR above the third quartile. J4More than 3 times the IQR above the third quartile. iK>Classify outliers in a data set, using the boxplot technique. L?Compute the extent to which outliers in the sample data affect ) the sample mean and standard deviation. #Bootstrap estimate of sample mean. Bootstrap estimate of sample  standard deviation. Number of original iterations. M0Count the total number of outliers in a sample. NDisplay the mean of a j , and characterise the outliers  present in the sample. Number of iterations used to  compute the sample. ODisplay a report of the ED present in a j. ?@ABCDEFGHIJKLMNODEFGHIJ?CBA@NMKOL?CBA@@ABCDEFGHIJEFGHIJKLMNO GHC experimentalbos@serpentine.comP/Measured aspects of the execution environment. QRClock resolution (in seconds). S.The cost of a single clock call (in seconds). T#Measure the execution environment. PQRSTPQRSTPQRSQRST GHC experimentalbos@serpentine.comU9Run a single benchmark, and return timings measured when  executing it. k4Run a single benchmark and analyse its performance. lV*Run, and analyse, one or more benchmarks. A predicate that chooses # whether to run a benchmark by its  name.  UV  UVUV GHC experimentalbos@serpentine.com mParse a plot output. nParse a plot type. oParse a confidence interval. pParse a positive number. qW3The standard options accepted on the command line. rsXParse command line options. Y%An entry point that can be used as a main function.  import Criterion.Main   fib :: Int -> Int  fib 0 = 0  fib 1 = 1  fib n = fib (n-1) + fib (n-2)   main = defaultMain [ < bgroup "fib" [ bench "fib 10" $ \n -> fib (10+n-n)) < , bench "fib 35" $ \n -> fib (35+n-n)) < , bench "fib 37" $ \n -> fib (37+n-n))  ]  ] Z%An entry point that can be used as a main function, with  configurable defaults.  Example:  import Criterion.Config * import qualified Criterion.MultiMap as M   myConfig = defaultConfig { ? -- Always display an 800x600 window with curves. C cfgPlot = M.singleton KernelDensity (Window 800 600)  }  # main = defaultMainWith myConfig [ 5 bench "fib 30" $ \(n::Int) -> fib (30+n-n)  ] !If you save the above example as "Fib.hs", you should be able  to compile it as follows:  ghc -O --make Fib Run " Fib --help". on the command line to get a list of command  line options. tBDisplay an error message from a command line parsing failure, and  exit.  WXYZ   YZWXWXYZu   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNNOPQRSTUVWX Y Y Z [ \ ] ^ _ ` a b cdecdefghijjklmnopqrs t u v w x y z { | }~criterion-0.1.3Criterion.MultiMapCriterion.TypesCriterion.MeasurementCriterion.ConfigCriterion.Monad Criterion.IOCriterion.PlotCriterion.AnalysisCriterion.Environment CriterionCriterion.MainMultiMaptoMapfromMap singletonlookup Benchmark BenchGroup Benchmarkablerunbenchbgroup benchNamestimetime_getTime runForAtLeastsecsConfig cfgBannercfgConfInterval cfgPerformGCcfgPlotcfgPlotSameAxis cfgPrintExit cfgResamples cfgSamplescfgSummaryFile cfgVerbosityPlotTiming KernelDensity PlotOutputWindowSVGPNGPDFCSV PrintExitHelpVersionListNada VerbosityVerboseNormalQuiet defaultConfigljustfromLJConfigM getConfig getConfigItemdoIO withConfignoteprolix printErrorsummaryplotWith plotTimingplotKDEOutlierVarianceSevereModerateSlight UnaffectedOutliers samplesSeen lowSeverelowMildhighMild highSevereclassifyOutliersoutlierVariance countOutliers analyseMean noteOutliers EnvironmentenvClockResolution envClockCostmeasureEnvironment runBenchmark runAndAnalysedefaultOptions parseArgs defaultMaindefaultMainWithbase Data.MonoidLast emptyConfig appendConfigCritHPrintfType chPrintfImpl PrintfContchPrintfwriteTo escapeCSVputRowmangle addOutliersstatistics-0.4.1Statistics.TypesSamplerunAndAnalyseOneplotAll parsePlotplotciposnoArg printBanner printUsage parseError