Project the control flow graph out of the dataflow graph that carries it.
There is no separate control flow analysis any more, so what the step measures is the cost of holding the control flow as its own structure; walking it on the dataflow graph costs nothing on top of the dataflow analysis itself.
Retrieves the final stats and closes the shell session. Can be called multiple times to retrieve the stored stats, but will only close the session once (the first time).
Infer the shape of data frames using abstract interpretation with inferDataFrameShapes
The statistics of the data frame shape inference
Initialize the slicer on the given request. Can only be called once for each instance.
OptionalautoSelectIf: AutoSelectPredicateOptionalthreshold: numberOptionalinlineSources: booleanOptionalincludeCallees: booleanOptionalinlineFull: InlineFullMeasure the phases that are not part of the slicing itself: the dependencies query, the linter, and the synthetic calibration workload, the only one that reports its own time.
These run after all other steps and are excluded from the CommonSlicerMeasurements (and hence from
the total), so that they cannot distort any of the existing measurements.
A failing phase is logged and skipped, it never aborts the benchmark.
whether to run the calibration, which describes the machine and hence only has to run for some files of a suite
Slice for the given SlicingCriteria.
The per slice stats retrieved for this slicing criteria
Call slice for all slicing criteria that match the given filter. See collectAllSlicingCriteria for details.
the `report` function will be called *before* each *individual* slice is performed.
The number of slices that were produced
Only call in case of an error - if the session must be closed and the benchmark itself is to be considered failed/dead.