Dsxir.Optimizer.COPRO.Auto (dsxir v0.4.0)

Copy Markdown

Budget presets for Dsxir.Optimizer.COPRO. expand/2 overlays user options on the chosen preset; user keys win. Mirrors Dsxir.Optimizer.MIPROv2.Auto.

Summary

Functions

Merge user opts over the chosen preset. User-supplied keys override preset values; preset values fill in only when the user didn't set the key.

Returns the preset map for an auto level. Raises on unknown preset.

Types

preset()

@type preset() :: :light | :medium | :heavy

Functions

expand(opts, level)

@spec expand(
  keyword(),
  preset()
) :: map()

Merge user opts over the chosen preset. User-supplied keys override preset values; preset values fill in only when the user didn't set the key.

:num_threads is not part of a budget preset (it's a runtime concurrency knob, not an optimization-quality dial), so it defaults to System.schedulers_online/0 unless the caller overrides it.

preset(level)

@spec preset(preset()) :: map()

Returns the preset map for an auto level. Raises on unknown preset.