Files
foxhunt/crates
jgrusewski 2674fa7a1e perf: zero-copy fxcache training pipeline
Eliminates all per-fold CPU waste in walk-forward training:
- FxCacheData replaces OHLCVBar as data backbone (features[42] + targets[4] + OFI[8])
- Walk-forward generates index ranges from timestamps, no bar cloning
- DQNTrainer created once, reused across folds via reset_for_fold
- Data uploaded to GPU once via init_from_fxcache, sliced by index per fold
- Trainer accepts &[[f64;42]] + &[[f64;4]] slices, zero Vec<f64> allocation
- PPO uses train_from_slices, no per-fold feature re-extraction
- Ensemble trainers pre-created before fold loop, no per-fold re-upload
- Deleted: prepare_fold_data, FoldData, features_to_trainer_format,
  train_ppo_fold, double-buffer, prefetch thread (~500 lines removed)

Smoketest: 160s -> 4.97s (32x speedup)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-02 23:23:43 +02:00
..