Skip to main content

Tuning performance

Most operators will have as a last optional argument a ComputationSettings object, that is used to tune how the operator is computed.

The most relevant settings are UseRepresentationMinimization, which will apply representation minimization to all results (also intermediate ones) and UseParallelism, which will use parallelization when is (heuristically) deemed to be useful. UseSubAdditiveConvolutionOptimizations enables the subadditive convolution optimizations, and so on. These are all set by default to true.

Below, an example which runs the min-plus convolution in serial mode.

    var f = ...;
var g = ...;

var h = Curve.Convolution(f, g, settings: ComputationSettings.Default() with { UseParallelism = false });