mirror of
https://github.com/manifoldbt/manifoldbt.git
synced 2026-08-24 14:38:04 +00:00
The three points were sized before this runner had ever run one. It has now, so they are sized from what it measured: 87.5 us per combination for manifoldbt at 20,000 bars, 1.16 ms for vectorbt, 1.34 ms for raptorbt, and 15.0 ms for raptorbt at 200,000 bars. 20,000 x 5,000 stays, because it is the only one of the three vectorbt can hold: it materialises 1.57 MB per combination at that length, so 5,000 already costs it 2.5 GB. The other two grow to 20,000 and 10,000 combinations and put it out of scope, which is where a sweep stops being a speed comparison and becomes a capability one. raptorbt sets the budget, not manifoldbt. With no fan-out API its sweep is a Python loop costing a full backtest per cell, so the large point goes deep in combinations on a short series rather than the reverse: 20,000 combinations on 20,000 bars costs it 27 s a call, where 5,000 combinations on a million bars would cost it 25 minutes. Also: sweeps, not grids. `run_sweep`, `run_sweep_lite` and `--sweep` are what the product calls this, and a second word for the same thing is a second thing to learn. `grid` is kept only where it means the parameter space itself.