h*HmA      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        1.6.4.0 (c) 2009-2014 Bryan O'Sullivan BSD-stylebos@serpentine.com experimentalGHC Trustworthy %&)*7<-4 criterionReport of a sample analysis.6 criterion+A simple index indicating that this is the n th report.7 criterionThe name of this report.8 criterionSee .9 criterionRaw measurements.: criterionReport analysis.; criterionAnalysis of outliers.< criterionData for a KDE of times.= criterion$Data for a KDE chart of performance.B criterion:Result of a bootstrap analysis of a non-parametric sample.D criterion+Estimates calculated via linear regression.E criterionEstimated mean.F criterionEstimated standard deviation.G criterionDescription of the effects of outliers on the estimated variance.H criterionResults of a linear regression.J criterion Name of the responding variable.K criterion1Map from name to value of predictor coefficients.L criterionR goodness-of-fit estimate.M criterionAnalysis of the extent to which outliers in a sample affect its standard deviation (and to some extent, its mean).O criterion"Qualitative description of effect.P criterion$Brief textual description of effect.Q criterionQuantitative description of effect (a fraction between 0 and 1).R criterionA description of the extent to which outliers in the sample data affect the sample mean and standard deviation.S criterionLess than 1% effect.T criterionBetween 1% and 10%.U criterionBetween 10% and 50%.V criterion+Above 50% (i.e. measurements are useless).W criterionOutliers from sample data, calculated using the boxplot technique.Z criterionMore than 3 times the interquartile range (IQR) below the first quartile.[ criterion9Between 1.5 and 3 times the IQR below the first quartile.\ criterion9Between 1.5 and 3 times the IQR above the third quartile.] criterion3More than 3 times the IQR above the third quartile.^ criterion%Top-level benchmarking configuration.` criterionConfidence interval for bootstrap estimation (greater than 0, less than 1).a criterionNumber of seconds to run a single benchmark. (In practice, execution time will very slightly exceed this limit.)b criterion2Number of resamples to perform when bootstrapping.c criterionRegressions to perform.d criterionFile to write binary measurement and analysis data to. If not specified, this will be a temporary file.e criterion7File to write report output to, with template expanded.f criterionFile to write CSV summary to.g criterion(File to write JSON-formatted results to.h criterion.File to write JUnit-compatible XML results to.i criterion>Verbosity level to use when running and analysing benchmarks.j criterion)Template file to use if writing a report.k criterion,Control the amount of information displayed.^_bfi`acdeghjklmn 0&'()*+,-./ !"#$%WXYZ[\]RSTUVMNOPQHIJKL=>?@A456789:;?@A456789:; Int fib 0 = 0 fib 1 = 1 fib n = fib (n-1) + fib (n-2) main = defaultMain [ bgroup "fib" [ bench "10" $ whnf fib 10 , bench "35" $ whnf fib 35 , bench "37" $ whnf fib 37 ] ] criterionCreate a function that can tell if a name given on the command line matches a benchmark. criterion%An entry point that can be used as a main' function, with configurable defaults.Example: import Criterion.Main.Options import Criterion.Main myConfig = defaultConfig { -- Resample 10 times for bootstrapping resamples = 10 } main = defaultMainWith myConfig [ bench "fib 30" $ whnf fib 30 ]!If you save the above example as "Fib.hs"/, you should be able to compile it as follows: ghc -O --make FibRun  "Fib --help"< on the command line to get a list of command line options. criterion Run a set of s with the given .!This can be useful if you have a  from some other source (e.g. from a one in your benchmark driver's command-line parser). criterionDisplay an error message from a command line parsing failure, and exit. criterionCommand line arguments.&'()*+,- !"#$%&'()*+,- !"#$% (c) 2009-2014 Bryan O'Sullivan BSD-stylebos@serpentine.com experimentalGHC Safe-Inferred%&AI criterion;Run a benchmark interactively, and analyse its performance. criterionRun a benchmark interactively, analyse its performance, and return the analysis. criterion;Run a benchmark interactively, and analyse its performance. criterionRun a benchmark interactively, analyse its performance, and return the analysis.&'()*+,- !"#$%&'()*+,- !"#$% !""#$%&'()*+,-./0123456789:;<=>?@ABCCDEFGHIJKKLMNOOPQRSTTUVWXXYZ[\]^_`aabcdefgghijklmnopqrstuvwxyz{|}~                         (criterion-1.6.4.0-GzMofoP9Fsa14zHV8vMYQHCriterion.TypesCriterion.MonadCriterion.IO.PrintfCriterion.AnalysisCriterion.ReportCriterion.Main.Options Criterion.IOCriterion.InternalCriterion.Main Criterion criterionCriterion.Monad.InternalPaths_criterionBempty4criterion-measurement-0.2.3.0-BuiyTDgwA3N2Nu8iGZpcjUCriterion.Measurement.Types Benchmark Environment BenchGroupMeasuredmeasTime measCpuTime measCycles measIters measAllocatedmeasPeakMbAllocated measNumGcsmeasBytesCopiedmeasMutatorWallSecondsmeasMutatorCpuSecondsmeasGcWallSecondsmeasGcCpuSeconds BenchmarkableallocEnvcleanEnv runRepeatedlyperRuntoBenchmarkable measureKeysmeasureAccessorsrescalefromInttoInt fromDoubletoDoublenfwhnfnfIOwhnfIOnfAppIO whnfAppIOenvenvWithCleanup perBatchEnvperBatchEnvWithCleanup perRunEnvperRunEnvWithCleanupbenchbgroup addPrefix benchNamesmeasure DataRecord MeasurementAnalysedReport reportNumber reportName reportKeysreportMeasuredreportAnalysisreportOutliers reportKDEsKDEkdeType kdeValueskdePDFSampleAnalysis anRegressanMeananStdDev anOutlierVar Regression regResponder regCoeffs regRSquareOutlierVarianceovEffectovDesc ovFraction OutlierEffect UnaffectedSlightModerateSevereOutliers samplesSeen lowSeverelowMildhighMild highSevereConfig confInterval timeLimit resamples regressions rawDataFile reportFilecsvFilejsonFile junitFile verbositytemplate VerbosityQuietNormalVerbose$fMonoidOutliers$fSemigroupOutliers$fNFDataOutliers$fBinaryOutliers$fToJSONOutliers$fFromJSONOutliers$fNFDataOutlierEffect$fBinaryOutlierEffect$fToJSONOutlierEffect$fFromJSONOutlierEffect$fNFDataOutlierVariance$fBinaryOutlierVariance$fToJSONOutlierVariance$fFromJSONOutlierVariance$fNFDataRegression$fBinaryRegression$fToJSONRegression$fFromJSONRegression$fNFDataSampleAnalysis$fBinarySampleAnalysis$fToJSONSampleAnalysis$fFromJSONSampleAnalysis $fNFDataKDE $fBinaryKDE $fToJSONKDE $fFromJSONKDE$fNFDataReport$fBinaryReport$fToJSONReport$fFromJSONReport$fToJSONDataRecord$fFromJSONDataRecord$fNFDataDataRecord$fBinaryDataRecord$fEqDataRecord$fReadDataRecord$fShowDataRecord$fGenericDataRecord $fEqReport $fReadReport $fShowReport$fGenericReport$fEqKDE $fReadKDE $fShowKDE $fDataKDE $fGenericKDE$fEqSampleAnalysis$fReadSampleAnalysis$fShowSampleAnalysis$fGenericSampleAnalysis$fEqRegression$fReadRegression$fShowRegression$fGenericRegression$fEqOutlierVariance$fReadOutlierVariance$fShowOutlierVariance$fDataOutlierVariance$fGenericOutlierVariance$fEqOutlierEffect$fOrdOutlierEffect$fReadOutlierEffect$fShowOutlierEffect$fDataOutlierEffect$fGenericOutlierEffect $fEqOutliers$fReadOutliers$fShowOutliers$fDataOutliers$fGenericOutliers $fEqConfig $fReadConfig $fShowConfig $fDataConfig$fGenericConfig $fEqVerbosity$fOrdVerbosity$fBoundedVerbosity$fEnumVerbosity$fReadVerbosity$fShowVerbosity$fDataVerbosity$fGenericVerbosity withConfiggetGenCritHPrintfTypenoteprolix printErrorwriteCsv$fCritHPrintfTypeFUN$fCritHPrintfTypeIO$fCritHPrintfTypeCriterionclassifyOutliersoutlierVariance countOutliers analyseMeanscale analyseSampleregressresolveAccessorsvalidateAccessors noteOutliersTemplateExceptionTemplateNotFound tidyTailsgetTemplateDirreport formatReportvectorvector2 includeFile loadTemplate$fExceptionTemplateException$fEqTemplateException$fReadTemplateException$fShowTemplateException$fDataTemplateException$fGenericTemplateExceptionModeListVersionRunItersRun MatchTypePrefixGlobPatternIPattern defaultConfig parseWithconfigdescribe describeWith versionInfo$fEqMode $fReadMode $fShowMode $fDataMode $fGenericMode $fEqMatchType$fOrdMatchType$fBoundedMatchType$fEnumMatchType$fReadMatchType$fShowMatchType$fDataMatchType$fGenericMatchTypeReportFileContentsheader headerRoot critVersion hGetRecords hPutRecords readRecords writeRecordsreadJSONReportswriteJSONReportsrunOnerunAndAnalyseOne runAndAnalyse runFixedIters defaultMain makeMatcherdefaultMainWithrunMode benchmark benchmark' benchmarkWithbenchmarkWith' runCriterionCritgen*mwc-random-0.15.1.0-61IuGPMcmdy4x7IL8QG4RaSystem.Random.MWCcreateSystemRandommemoiseghc-prim GHC.TypesIO*statistics-0.16.2.1-8LA86hhG6bE1f52dNxapkXStatistics.Types.InternalSampleStatistics.TypesStatistics.Regression olsRegressversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDirgetDataFileName getSysconfDir escapeJSONbaseGHC.IO.Exception IOException4optparse-applicative-0.18.1.0-7ukASjw1dvb660Y3EruEE4Options.Applicative.TypesParserGHC.IO.Handle.TypesHandle analyseOne rawReportforjsonjunit parseError