h$?@8      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None 8 perfGolden file options.perfReport configuration options perfLevels 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.perf%Write results to file, in CSV format.perf.Read results from file that are in CSV format.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. perfFormat a result as a table.!perf'Parse command-line golden file options."perfReport results#   !"#   !"None 3perf+Command-line options for type of statistic.8perfCompute the median9perfCompute the average:perfCompute the tenth percentile;perf"Compute the average of an Integral<perf$Compute the average time in seconds.=perfCompute a statistic.>perfCompute a list of statistics.?perfParse command-line 3 options.@perfAdd a statistic to a State MapAperf#Linguistic conversion of an ordinalBperfCompute all stats.Cperf3Convert a Map of performance result to a statistic.3456789:;<=>?@ABC98:;<34567=>?@ABCNone  '(,5OFperfThe transformer over IdentityGperf.Performance measurement transformer storing a N and a map of named results.JperfAbstraction of a performance measurement with a pre and a post step wrapping the computation.NperfAbstraction of a performance measurement within a monadic context.measure applies a function to a value, returning a tuple of the performance measure, and the computation result.measureM evaluates a monadic value and returns a performance-result tuple.Rperf'Convert a Measure into a multi measure.Sperf$Convert a StepMeasure into a MeasureTperfConvert a StepMeasure into a Measure running the computation multiple times.UperfA single step measurement.VperfA single step measurement.WperfMultiple measurementXperfMultiple measurementsYperf:Lift an application to a PerfT m, providing a label and a N.2Measurements with the same label will be mappendedZperf7Lift an application to a PerfT m, forcing the argument.[perf>Lift an application to a PerfT m, forcing argument and result.\perfLift a number to a PerfT m, providing a label, function, and input..Measurements with the same label will be added]perf;Lift a monadic value to a PerfT m, providing a label and a N..Measurements with the same label will be added^perf2lift a pure, unnamed function application to PerfT_perf5lift a monadic, unnamed function application to PerfT`perf(lift an unnamed numeric measure to PerfTaperfRun the performance measure, returning (computational result, measurement).bperfConsume the PerfT layer and return the original monadic result. Fingers crossed, PerfT structure should be completely compiled away.cperf1Consume a PerfT layer and return the measurement.dperfrun a PerfT and also calculate performance over the entire computationeperfrun a PerfT and calculate excess performance over the entire computationfperfrun a multi PerfT and calculate excess performance over the entire computationgperfreturns an IO tuple; list of Cycles and the last evaluated f a|perf tick as a J}perfa measure using * from System.CPUTime (unit is picoseconds)~perfa measure using  (unit is seconds)perf tick as a Nperftick as a multi-Measureopqrstuvwxyz{|}~rstuvwxyz{opq}~|None  '(, perfGHC allocation statistics.perfConvert  to a list of numbers.perf Labels for .perf A allocation J 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.  None Uperf!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.None 58?-nperfA 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}%%None 58perf+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 G.perfrun an example measurement.perfAll the sum algorithms.perf Convert an  to a G.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 G.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. None'(,7   !"3764589:;<=>?@ABCFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK LLMNNOPQQRSTUVWXYZ[\]^_`abcdefghijklmnopqqrstuvwxyz{|}~"perf-0.10.0-BT4aHB78pyC11ZtafhbK03 Perf.Report Perf.Stats Perf.Types Perf.Time Perf.Space Perf.Measure Perf.BigO Perf.AlgosPerfGoldengoldencheckrecord 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$fIntegralCycles 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 $fShowExamplebaseSystem.CPUTime getCPUTime time-1.9.3Data.Time.Clock.POSIXgetCurrentTime System.Mem performGC