h&Ao:[      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Inferred"; PperfGolden file options.perf$Comparison data between two results. perfReport configuration optionsperfLevels of geometric difference in compared performance that triggers reporting.perf&Whether to include header information.perfType of format for reportperfCommand-line parser for perfCommand-line parser for perfdefaultCompareLevelsCompareLevels {errorLevel = 0.2, warningLevel = 5.0e-2, improvedLevel = 5.0e-2}perfCommand-line parser for perfdefaultReportConfigReportConfig {format = ConsoleMode, includeHeader = Header, levels = CompareLevels {errorLevel = 0.2, warningLevel = 5.0e-2, improvedLevel = 5.0e-2}}perfParse   command line options. perfWrite results to file!perfRead results from file"perfCompare two results and produce some notes given level triggers.#perf-Like intercalate, but on the outside as well.$perfReport to a console, comparing the measurement versus a canned file.perfOrg-mode style header.perf!Console-style header information.perfFormat a comparison.perf!Format a result in org-mode styleperf Format a result in console-style%perfFormat a result as a table.&perf'Parse command-line golden file options.'perfReport resultsperfFormat a result given  and  preferences.(   !"#$%&'(   ! "#$%&' Safe-Inferred" 8perf+Command-line options for type of statistic.=perfCompute the median>perfCompute the average?perfCompute the tenth percentile@perf"Compute the average of an IntegralAperf$Compute the average time in seconds.BperfCompute a statistic.CperfCompute a list of statistics.DperfParse command-line 8 options.EperfAdd a statistic to a State MapFperf#Linguistic conversion of an ordinalGperfCompute all stats.Hperf3Convert a Map of performance result to a statistic.89:;<=>?@ABCDEFGH>=?@A89:;Lift an application to a PerfT m, forcing argument and result.aperfLift a number to a PerfT m, providing a label, function, and input..Measurements with the same label will be addedbperf;Lift a monadic value to a PerfT m, providing a label and a S..Measurements with the same label will be addedcperf2lift a pure, unnamed function application to PerfTdperf5lift a monadic, unnamed function application to PerfTeperf(lift an unnamed numeric measure to PerfTfperfRun the performance measure, returning (computational result, measurement).gperfConsume the PerfT layer and return the original monadic result. Fingers crossed, PerfT structure should be completely compiled away.hperf1Consume a PerfT layer and return the measurement.iperfrun a PerfT and also calculate performance over the entire computationjperfrun a PerfT and calculate excess performance over the entire computationkperfrun a multi PerfT and calculate excess performance over the entire computationlperfreturns an IO tuple; list of Cycles and the last evaluated f aperf tick as a Operfa measure using * from System.CPUTime (unit is picoseconds)perfa measure using  (unit is seconds)perf tick as a Sperftick as a multi-Measuretuvwxyz{|}~wxyz{|}~tuv Safe-Inferred ")*.perfNumber of bytesperfGHC allocation statistics.perfConvert  to a list of numbers.perf Labels for .perf A allocation O with a flag to determine if % should run prior to the measurement.perf.Measure memory allocation, with a flag to run  prior to the measurement. Safe-Inferred"!perf!Command-line measurement options.perfParse command-line  options.perfunification of the different measurements to being a list of doubles.perfunification of the different measurements to being a list of doubles. Safe-Inferred"8;/(perfA set of factors consisting of the dominant order, the dominant order factor and a constant factorperfa set of factors for each order, which represents a full Order specification.perf order typeperfcubicperf quadraticperf^3/2perf N * log Nperflinearperfsqrt Nperflog Nperfconstantperfenumeration of O typesolist [N3,N2,N32,NLogN,N1,N12,LogN,N0]perf(functions to compute performance measurefmap ($ 0) promote_![0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]fmap ($ 1) promote_![1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0] Ordering makes sense around N=10fmap ($ 10) promote_[1000.0,100.0,31.622776601683793,23.02585092994046,10.0,3.1622776601683795,2.302585092994046,1.0]$Having NP may cause big num problemsfmap ($ 1000) promote_[1.0e9,1000000.0,31622.776601683792,6907.755278982137,1000.0,31.622776601683793,6.907755278982137,1.0]perfcreate an Order order N2 1#Order {factors = [0,1,0,0,0,0,0,0]}perf*Calculate the expected performance measurepromote (order N2 1) 10100.0perf0Calculate the expected performance measure per npromote (order N2 1) 10100.0perfCalculate an Order from a given O, an n, and a total performance measurement7A measurement of 1e6 for n=1000 with an order of N2 is:demote N2 1000 10000003Order {factors = [0.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0]}  promote (demote N2 n m) n m == mperf+Calculate an Order from a measure, and an Odemote1 N2 10006Order {factors = [0.0,1000.0,0.0,0.0,0.0,0.0,0.0,0.0]} demote1 N2 m == demote o 1 mperf(find the dominant order, and it's factorbigO o(N2,1.0)perfcompute the runtime component of an Order, defined as the difference between the dominant order and the total for a single run. runtime o100.0perfcompute the BigOrder fromOrder o>BigOrder {bigOrder = N2, bigFactor = 1.0, bigConstant = 100.0}perfconvert a BigOrder to an Order.,toOrder . fromOrder is not a round trip iso.toOrder (fromOrder o)5Order {factors = [0.0,1.0,0.0,0.0,0.0,0.0,0.0,100.0]}perf4The factor for each O given an n, and a measurement.spectrum 100 10000Order {factors = [1.0e-2,1.0,10.0,21.71472409516259,100.0,1000.0,2171.4724095162587,10000.0]}perfThe errors for a list of n's and measurements, based on the spectrum of the last measurement.perf.minimum error order for a list of measurements bestO ns msN1perffit the best order for the last measurement and return it, and the error terms for the measurements estO ns ms(Order {factors = [0.0,0.0,0.0,0.0,102.90746947660953,0.0,0.0,0.0]},[2702.0925305233905,2446.9253052339045,-301.7469476609531,-10317.469476609534,0.0])perffit orders from the last measurement to the first, using the residuals at each step. estOs ns ms[Order {factors = [0.0,0.0,0.0,0.0,102.90746947660953,0.0,0.0,0.0]},Order {factors = [0.0,0.0,-0.32626703235351473,0.0,0.0,0.0,0.0,0.0]},Order {factors = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,24.520084692561625]},Order {factors = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,2432.722690017952]},Order {factors = [0.0,0.0,0.0,0.0,0.0,0.0,0.0,245.1760228452299]}]perf performance curve for a Measure.perf+repetitive Double Meaure performance curve.perftime performance curve.perfBigOrder estimate 5estOrder (\x -> sum [1..x]) 100 [1,10,100,1000,10000]BigOrder {bigOrder = N1, bigFactor = 76.27652961460446, bigConstant = 0.0}%% Safe-Inferred"7~8perf+Unification of length function applicationsperf(Unification of sum function applicationsperf,Unification of example function applicationsperfAlgorithm examples for testingperfAll the example algorithms.perf2Parse command-line options for algorithm examples.perfLabelsperf Convert an  to an .perf Convert an  to a L.perfrun an example measurement.perfAll the sum algorithms.perf Convert an  to a L.perf Run a sum algorithm measurement.perftail resursiveperflazy recursion.perfWith argument order flippedperf!Lazy with argument order flipped.perfCo-routine styleperfCo-routine, go styleperfCo-routine, case-styleperfAuxillary style.perf foldr styleperf cata styleperfsumperfMonomorphic sumperfPolymorphic sumperfLambda-style sumperfGHC-style foldr method.perf Fusion checkperfFusion under polymorphperf foldl' fusionperf foldr fusionperfAll the length algorithms.perf Convert an  to a L.perfRun a lengths algorithmperftail resursiveperflazy recursion.perfWith argument order flippedperf!Lazy with argument order flipped.perfCo-routine styleperf%Co-routine style as a Case statement.perfAuxillary version.perf foldr styleperf&foldr style with explicit const usage.perf GHC styleperfMonomorphic, GHC styleperfTail recursionperfLazy tail recursionperf+Tail resursion with flipped argument order.perf0Lazy tail resursion with flipped argument order.perf CoroutineperfLazy, coroutineperf Cata styleperfTest of const fusionperfIncrement a list.perf Split a list.  Safe-Inferred)*.8   !"#$%&'8<;9:=>?@ABCDEFGHKLMNORPQSVTUWXYZ[\]^_`abcdefghijktuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO PPQRRSTUUVWXYZ[\]^_`abcdefghijklmnopqrstuuvwxyz{|}~"perf-0.10.1-EUiicY4SYVb4NpAUwDYcFr Perf.Report Perf.Stats Perf.Types Perf.Time Perf.Space Perf.Measure Perf.BigO Perf.AlgosPerfGoldengoldencheckrecord CompareResult oldResult newResult noteResult ReportConfigformat includeHeaderlevels CompareLevels errorLevel warningLevel improvedLevelHeaderNoHeaderFormatOrgMode ConsoleMode parseFormat parseHeaderdefaultCompareLevelsparseCompareLevelsdefaultReportConfigparseReportConfig writeResult readResult compareNote outercalate reportGolden reportOrg2D parseGoldenreport$fGenericGolden $fEqGolden $fShowGolden$fShowCompareResult$fEqCompareResult$fEqReportConfig$fShowReportConfig$fGenericReportConfig$fEqCompareLevels$fShowCompareLevels $fEqHeader $fShowHeader$fGenericHeader $fEqFormat $fShowFormat$fGenericFormat StatDType StatAverage StatMedianStatBestStatSecsmedianaveragetenthaverageI averageSecsstatDstatDs parseStatDaddStatordyallStatsstatify $fEqStatDType$fShowStatDTypePerfT measurePerf StepMeasureprepostMeasuremeasuremeasureMrepeated toMeasure toMeasureNstepstepMmultimultiMfapafapffapfanfam|$|$||+|runPerfT evalPerfT execPerfTouterslopslops$fApplicativeMeasure$fFunctorMeasure$fApplicativeStepMeasure$fFunctorStepMeasure$fMonadIOPerfT$fFunctorPerfT$fApplicativePerfT $fMonadPerfTCycleswordtick_warmupticktickWHNFtickLazy tickForce tickForceArgstickIOticksticksIOstepTimecputime clocktimetimetimes$fMonoidCycles$fSemigroupCycles $fShowCycles $fReadCycles $fEqCycles $fOrdCycles $fNumCycles $fRealCycles $fEnumCycles$fIntegralCyclesBytesunbytes SpaceStatsallocatedBytes gcollects maxLiveBytes gcLiveBytesmaxMemssToList spaceLabelsspace allocation$fNumSpaceStats$fMonoidSpaceStats$fSemigroupSpaceStats $fMonoidBytes$fSemigroupBytes $fShowBytes $fReadBytes $fEqBytes $fOrdBytes $fNumBytes $fRealBytes $fEnumBytes$fIntegralBytes$fReadSpaceStats$fShowSpaceStats$fEqSpaceStats MeasureType MeasureTime MeasureSpaceMeasureSpaceTimeMeasureAllocation parseMeasure measureDs measureLabels$fEqMeasureType$fShowMeasureTypeBigOrderbigOrder bigFactor bigConstantOrderfactorsON3N2N32NLogNN1N12LogNN0olistpromote_orderpromotepromote1demotedemote1bigOruntime fromOrdertoOrderspectrumdiffsbestOestOestOsmcurvedcurvetcurveestOrder $fNumOrder $fEqBigOrder $fOrdBigOrder$fShowBigOrder$fGenericBigOrder$fFunctorBigOrder $fEqOrder $fOrdOrder $fShowOrder$fGenericOrder$fFunctorOrder$fEqO$fOrdO$fShowO $fGenericO$fEnumO LengthPattern LengthPoly LengthMono SumPatternSumFuse SumFusePolySumPolySumMonoExamplePatternPatternSumFuse PatternSumPatternLengthFPatternConstFuse PatternMapInc PatternNoOpExampleExampleSumFuse ExampleSumExampleLengthFExampleConstFuse ExampleMapInc ExampleNoOp allExamples parseExample exampleLabelexamplePattern testExample statExamplesallSumstestSumstatSumssumTail sumTailLazysumFlip sumFlipLazysumCosumCoGo sumCoCasesumAuxsumFoldrsumCatasumSumsumMonosumPoly sumLambdasumFsumFuse sumFusePoly sumFuseFoldl' sumFuseFoldr allLengths testLength statLengths lengthTaillengthTailLazy lengthFliplengthFlipLazylengthCo lengthCoCase lengthAux lengthFoldrlengthFoldrConstlengthF lengthFMono recurseTailrecurseTailLazy recurseFliprecurseFlipLazy recurseCo recurseCoLazy recurseCata constFusemapInc splitHalf $fEqExample $fShowExampleformatOrgHeaderformatConsoleHeader formatCompare formatOrg formatConsoleformatInbaseSystem.CPUTime getCPUTime!time-1.9.3-FC13fzPSqx87xfmmE8p3rwData.Time.Clock.POSIXgetCurrentTime System.Mem performGC