Skip to content

chore(deps): Update optuna requirement from <5,>=4.9.0 to >=5.0.0,<6 - #328

Open
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/pip/dev/optuna-gte-5.0.0-and-lt-6
Open

dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/pip/dev/optuna-gte-5.0.0-and-lt-6

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 14, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on optuna to permit the latest version.

Release notes

Sourced from optuna's releases.

v5.0.0

This is the release note for v5.0.0.

Highlights

Major Enhancements to the Default Sampler

Optuna v5.0 introduces the first major update to its default sampler configuration since v1.5. For single-objective optimization, TPESampler now enables multivariate TPE (#6746) and the constant liar strategy by default (#6738), together with enhanced bandwidth computation (Watanabe 2023). For multi-objective optimization, TPESampler replaces NSGAIISampler as the default sampler (#6766). These settings were selected through comprehensive benchmarking to improve optimization performance.

New Core APIs for Constrained Optimization

Constrained optimization is now represented directly in Optuna’s core Trial API. Constraint values can be set inside the objective function using trial.set_constraint() and retrieved through trial.constraints, providing a consistent interface across supported samplers. Accordingly, the sampler-specific constraints_func arguments are now deprecated. (#6736, #6754, #6773)

PED-ANOVA Becomes the Default Parameter Importance Evaluator

Optuna v5.0 makes PedAnovaImportanceEvaluator the default evaluator used by optuna.importance.get_param_importances(), replacing f-ANOVA. PED-ANOVA computes parameter importances substantially faster, works with Optuna’s standard dependencies, and now supports conditional search spaces and multi-objective studies. The conditional extension, Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces, was accepted at KDD 2026. (#6682, #6728, #6748)

Improved Parallel Optimization with GPSampler

GPSampler, now a stable API in Optuna v5.0, introduces Monte Carlo-based q-batch acquisition functions that account for trials currently under evaluation. Rather than assigning each running trial a single heuristic pseudo-value, these acquisition functions integrate over possible outcomes sampled from the Gaussian process posterior, allowing predictive uncertainty to inform subsequent suggestions.

The new acquisition functions cover all four major problem settings: qLogEI for unconstrained single-objective optimization, qLogCEI for constrained single-objective optimization, qLogEHVI for unconstrained multi-objective optimization, and qLogCEHVI for constrained multi-objective optimization. This provides a more principled approach to parallel Bayesian optimization across the problem settings supported by GPSampler. (#6715, #6640, #6744, #6792, #6804)

Breaking Changes

  • Remove optuna.multi_objective module (#6686)
  • Remove deprecated integration wrappers for AllenNLP, Chainer, and MXNet (#6693)
  • Stabilize GPSampler (#6715)
  • Enable constant_liar by default (#6738)
  • Support categorical parameters in QMCSampler (#6742, thanks @​saivedant169!)
  • Enable multivariate by default in TPESampler (#6746)
  • Remove deprecated positional-arg compatibility from study and trial APIs (#6747, thanks @​yen-0!)
  • Make PedAnovaImportanceEvaluator the default importance evaluator (#6748)
  • Make TPESampler the default sampler for multi-objective optimization (#6766)
  • Deprecate constraints_func (#6773)
  • Change to treat cases without constraints as feasible (#6774)
  • Normalize trial timestamps to UTC in RDBStorage and JournalStorage (#6776)
  • Remove axis_order argument from plot_pareto_front (#6781)
  • Remove system_attrs from StudySummary (#6782)
  • Remove categorical_distance_func from TPESampler (#6783)
  • Remove deprecated modules (optuna/optuna-integration#293)
  • Remove MXNetPruningCallback (optuna/optuna-integration#294)
  • Use constraints property in BoTorchSampler (optuna/optuna-integration#306)
  • Remove set_system_attr and system_attrs from TorchDistributedTrial (optuna/optuna-integration#309)

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [optuna](https://github.com/optuna/optuna) to permit the latest version.
- [Release notes](https://github.com/optuna/optuna/releases)
- [Commits](optuna/optuna@v4.9.0...v5.0.0)

---
updated-dependencies:
- dependency-name: optuna
  dependency-version: 5.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Sep 14, 2026
@github-actions

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.11)

Exit code: 0 (1 = flagged regression at --factor 1.25; 2 = a benchmark raised, so nothing was compared)

Gate — blocks only at or above 0.01s, where this runner can measure reliably:

Faster (never blocks):
   0.91  bench_backtest.ExitOnLastBarPreprocess.time_exit_on_last_bar_preprocess(500)

Moved, but not blocking (under 1.25x, or under the 10ms floor where this runner's noise exceeds the factor):
   1.11  bench_backtest.LagPrepBottlenecks.time_apply_lags_pooled  (baseline 5.23563ms)

No benchmark at or above 10ms regressed by 1.25x or more (73 benchmarks compared).
Full benchmark output
· No executable found for python 3.13
· No executable found for python 3.14
· Creating environments
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.11
·· Installing 0b2ffae0 into virtualenv-py3.11
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.11
[ 0.00%] ·· Benchmarking virtualenv-py3.11
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)......
[12.26%] ··· Running (bench_backtest.ModelTrainPrep.time_train_models_per_symbol--)...........
[18.40%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models--).......
[21.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[25.00%] · For pybroker commit 0b2ffae0 (round 1/2):
[25.00%] ·· Building for virtualenv-py3.11
[25.00%] ·· Benchmarking virtualenv-py3.11
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)......
[37.26%] ··· Running (bench_backtest.ModelTrainPrep.time_train_models_per_symbol--)..........
[42.92%] ··· Running (bench_backtest.WalkforwardModels.time_walkforward_models--)......
[45.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--).........
[50.00%] ··· Running (bench_slippage.WalkforwardVolumeSlippage.time_walkforward_volume_slippage--).
[50.00%] · For pybroker commit 0b2ffae0 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.11
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         97.0±0.9ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           545±10μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                    26.8±1μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.37±0.1μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         12.1±0.1ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           23.4±0.2ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           25.7±0.5ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.7±0.4μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             35.8±2μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            22.1±0.7μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      18.0±0.3ms 
                 200      40.4±0.5ms 
                 500       89.1±1ms  
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000     6.64±0.1μs 
              100000   1.66±0.01ms 
             ======== =============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.56±0.02μs 
              100000     1.81±0ms  
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.64±0.04μs 
              100000   1.81±0.01ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.53±0.04μs 
              100000     348±4μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.7±0.09μs 
              100000   4.42±0.01ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.32±0.06μs 
              100000     981±4μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      130±5ms  
                 200      290±40ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      8.09±0.1ms   18.0±0.2ms 
                 200      31.0±0.4ms   70.3±0.6ms 
                 500      80.1±0.4ms    177±1ms   
             =========== ============ ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.79±0.5ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           828±20μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           987±60μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         49.1±0.5μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        709±7ms  
                    True        403±40ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.90±0.04ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.60±0.01ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.74±0.04ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           64.1±1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         905±30μs    1.79±0.05ms 
                  10      1.79±0.02ms   4.22±0.06ms 
             =========== ============= =============

[64.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[64.62%] ··· =========== =========
             --            n_days 
             ----------- ---------
              n_symbols     1260  
             =========== =========
                  10      891±8μs 
             =========== =========

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             60.8±0.7ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         59.3±0.6ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          179±0.9ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            257±3ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            284±1ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models          279±0.4ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached          279±0.5ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            287±1ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           85.3±1ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            550±1ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         57.3±0.6ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      40.4±0.2ms   80.2±0.2ms 
                 3      56.8±0.3ms   116±0.7ms  
                 10      76.7±1ms    159±0.9ms  
             ========= ============ ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large         1.92±0.1ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        4.69±0.02ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize        50.2±0.09ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.42±0.02ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         25.8±0.3ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.34±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            233±2ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          234±0.4ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.11
[75.00%] ·· Benchmarking virtualenv-py3.11
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         96.6±0.3ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           534±40μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  26.3±0.2μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.37±0.1μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.9±0.08ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           23.2±0.1ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.7±0.04ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.7±0.4μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           35.4±0.9μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio              22.2±1μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      17.7±0.3ms 
                 200      40.3±0.6ms 
                 500       98.1±9ms  
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    6.41±0.04μs 
              100000   1.62±0.02ms 
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== ============
              length              
             -------- ------------
               1000    6.59±0.1μs 
              100000    1.81±0ms  
             ======== ============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.60±0.03μs 
              100000   1.81±0.01ms 
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.55±0.04μs 
              100000     348±8μs   
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.7±0.05μs 
              100000   4.39±0.01ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.26±0.04μs 
              100000     977±4μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      125±3ms  
                 200      282±30ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= =============
             --                  n_indicators       
             ----------- ---------------------------
              n_symbols        1             5      
             =========== ============= =============
                  50      7.86±0.09ms   17.4±0.06ms 
                 200       30.4±0.5ms     68.3±2ms  
                 500        77.5±1ms     176±0.9ms  
             =========== ============= =============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.24±0.8ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           836±50μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           960±10μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         50.6±0.7μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        710±6ms  
                    True        401±30ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.85±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.57±0.04ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.70±0.03ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         64.0±0.9ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         896±10μs    1.84±0.02ms 
                  10      1.79±0.01ms   4.21±0.09ms 
             =========== ============= =============

[89.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[89.62%] ··· =========== =========
             --            n_days 
             ----------- ---------
              n_symbols     1260  
             =========== =========
                  10      892±5μs 
             =========== =========

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             59.1±0.4ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         59.9±0.6ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals            179±1ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            254±2ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models          284±0.9ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            282±2ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          279±0.7ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            283±1ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           83.4±2ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            547±1ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         56.2±0.5ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      39.9±0.4ms   80.1±0.2ms 
                 3      56.5±0.2ms   115±0.7ms  
                 10      76.7±2ms     160±4ms   
             ========= ============ ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large         1.94±0.4ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        4.72±0.02ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         50.6±0.7ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.46±0.08ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         25.3±0.6ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.35±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            235±3ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          236±0.4ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

Blocks only when a benchmark of at least 0.01s regresses by 1.25x. Shorter benchmarks are reported, never blocking: on this runner, identical code has produced ratios from 0.65 to 1.29 on sub-2ms benchmarks. Override via the bench-override PR label.

@github-actions

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.12)

Exit code: 0 (1 = flagged regression at --factor 1.25; 2 = a benchmark raised, so nothing was compared)

Gate — blocks only at or above 0.01s, where this runner can measure reliably:


No benchmark at or above 10ms regressed by 1.25x or more (73 benchmarks compared).
Full benchmark output
· No executable found for python 3.11
· No executable found for python 3.13
· No executable found for python 3.14
· Creating environments
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.12
·· Installing 0b2ffae0 into virtualenv-py3.12
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.12
[ 0.00%] ·· Benchmarking virtualenv-py3.12
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)....
[11.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[14.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--)........
[18.87%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models_cached--)......
[21.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[25.00%] · For pybroker commit 0b2ffae0 (round 1/2):
[25.00%] ·· Building for virtualenv-py3.12
[25.00%] ·· Benchmarking virtualenv-py3.12
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--).....
[36.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--)......
[39.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)........
[44.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--).....
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit 0b2ffae0 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.12
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         97.5±0.4ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           462±10μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  27.5±0.5μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.35±0.2μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.8±0.02ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          23.0±0.09ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           25.8±0.5ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.7±0.2μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           34.3±0.9μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.6±0.4μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.2±0.2ms 
                 200      49.1±0.2ms 
                 500       109±1ms   
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000     6.89±0.2μs 
              100000   1.63±0.01ms 
             ======== =============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.79±0.05μs 
              100000     1.81±0ms  
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.83±0.04μs 
              100000   1.81±0.01ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.70±0.05μs 
              100000     344±7μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    15.1±0.08μs 
              100000   4.38±0.01ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== ============
              length              
             -------- ------------
               1000    4.44±0.1μs 
              100000    969±3μs   
             ======== ============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      135±3ms  
                 200      334±20ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      9.47±0.09ms   19.7±0.1ms 
                 200       37.3±0.3ms   79.7±0.8ms 
                 500        97.2±1ms     203±2ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.72±1ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.14±0.02ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.03±0.01ms
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         51.5±0.9μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        728±8ms  
                    True        444±30ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.28±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.01±0.01ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.29±0.03ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         68.4±0.5ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.13±0.02ms   2.35±0.04ms 
                  10      2.21±0.04ms   5.54±0.08ms 
             =========== ============= =============

[64.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[64.62%] ··· =========== =========
             --            n_days 
             ----------- ---------
              n_symbols     1260  
             =========== =========
                  10      954±2μs 
             =========== =========

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             63.0±0.2ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         63.7±0.3ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          198±0.2ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               253M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          273±0.7ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models           368±10ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            351±8ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached          341±0.8ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          346±0.7ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         86.9±0.2ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            643±3ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         61.0±0.5ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      43.2±0.4ms   86.7±0.5ms 
                 3      60.6±0.1ms   123±0.3ms  
                 10     80.5±0.2ms   167±0.1ms  
             ========= ============ ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.53±0.3ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.31±0.03ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         59.8±0.3ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.48±0.02ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.6±0.3ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.54±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          248±0.9ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            254±2ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.12
[75.00%] ·· Benchmarking virtualenv-py3.12
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         98.2±0.4ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           477±50μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  28.1±0.4μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            3.22±0.09μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.8±0.05ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           23.8±0.6ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           25.5±0.1ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.5±0.5μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             36.5±1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.9±0.6μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.3±0.1ms 
                 200      48.9±0.6ms 
                 500       109±2ms   
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    6.71±0.04μs 
              100000   1.61±0.01ms 
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.82±0.04μs 
              100000   1.81±0.01ms 
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.90±0.07μs 
              100000     1.80±0ms  
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.70±0.02μs 
              100000     338±3μs   
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000    15.0±0.06μs 
              100000   4.37±0.02ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.48±0.03μs 
              100000     978±8μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      138±3ms  
                 200      330±40ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      9.47±0.1ms   20.0±0.1ms 
                 200      37.4±0.8ms   79.6±0.7ms 
                 500       96.9±1ms     201±2ms   
             =========== ============ ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.89±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.15±0.02ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store         1.09±0.1ms
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         52.1±0.5μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        734±4ms  
                    True        443±10ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.30±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.01±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.23±0.02ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         68.7±0.2ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.12±0.02ms   2.39±0.05ms 
                  10      2.32±0.02ms    5.62±0.1ms 
             =========== ============= =============

[89.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[89.62%] ··· =========== =========
             --            n_days 
             ----------- ---------
              n_symbols     1260  
             =========== =========
                  10      949±4μs 
             =========== =========

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             62.9±0.1ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         63.5±0.4ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          197±0.9ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               253M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            271±2ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models          347±0.5ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          341±0.3ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            344±1ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            348±3ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         87.1±0.9ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            644±1ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         60.9±0.3ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      42.8±0.1ms   86.5±0.1ms 
                 3      60.4±0.4ms    123±1ms   
                 10     79.7±0.1ms   166±0.3ms  
             ========= ============ ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.56±0.06ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.28±0.02ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         59.9±0.1ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.48±0.02ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.8±0.6ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.54±0.02ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            251±2ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            253±1ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

Blocks only when a benchmark of at least 0.01s regresses by 1.25x. Shorter benchmarks are reported, never blocking: on this runner, identical code has produced ratios from 0.65 to 1.29 on sub-2ms benchmarks. Override via the bench-override PR label.

@github-actions

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.13)

Exit code: 0 (1 = flagged regression at --factor 1.25; 2 = a benchmark raised, so nothing was compared)

Gate — blocks only at or above 0.01s, where this runner can measure reliably:


No benchmark at or above 10ms regressed by 1.25x or more (73 benchmarks compared).
Full benchmark output
· No executable found for python 3.11
· No executable found for python 3.14
· Creating environments
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.13
·· Installing 0b2ffae0 into virtualenv-py3.13
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.13
[ 0.00%] ·· Benchmarking virtualenv-py3.13
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--).....
[11.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--)......
[14.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)........
[19.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--).....
[21.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[25.00%] · For pybroker commit 0b2ffae0 (round 1/2):
[25.00%] ·· Building for virtualenv-py3.13
[25.00%] ·· Benchmarking virtualenv-py3.13
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--).....
[36.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--)......
[39.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)........
[44.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--).....
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit 0b2ffae0 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.13
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          101±0.5ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          495±100μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  28.2±0.7μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            2.82±0.08μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.7±0.04ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           23.5±0.5ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.4±0.04ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.8±0.7μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           33.1±0.8μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.3±0.2μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.2±0.2ms 
                 200      48.8±0.2ms 
                 500      107±0.9ms  
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== ============
              length              
             -------- ------------
               1000    6.75±0.1μs 
              100000    710±4μs   
             ======== ============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.64±0.03μs 
              100000   1.55±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.71±0.03μs 
              100000     1.55±0ms  
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.55±0.03μs 
              100000     116±2μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.8±0.02μs 
              100000   3.37±0.01ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.38±0.04μs 
              100000     750±5μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      120±4ms  
                 200      309±50ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      9.55±0.09ms   20.3±0.4ms 
                 200       37.7±0.5ms   81.0±0.8ms 
                 500       95.9±0.6ms    201±1ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.77±1ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.15±0.01ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.03±0.01ms
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         51.1±0.5μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        749±6ms  
                    True        487±40ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.44±0.06ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.06±0.02ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.35±0.06ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         79.4±0.3ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.12±0.02ms   2.33±0.01ms 
                  10      2.20±0.04ms   5.38±0.04ms 
             =========== ============= =============

[64.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[64.62%] ··· =========== =========
             --            n_days 
             ----------- ---------
              n_symbols     1260  
             =========== =========
                  10      969±4μs 
             =========== =========

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward               66.6±2ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         66.5±0.7ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            214±1ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            349±2ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            385±3ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models          379±0.8ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            378±2ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            388±3ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         90.4±0.5ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            692±7ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         63.7±0.3ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      44.9±0.4ms   90.2±9ms 
                 3      63.6±0.9ms   142±10ms 
                 10      84.0±2ms    176±20ms 
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.52±0.01ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.45±0.01ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize           65.3±1ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.42±0.02ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.6±0.1ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.55±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            263±2ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            263±2ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.13
[75.00%] ·· Benchmarking virtualenv-py3.13
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop            105±4ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          515±100μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                    29.6±2μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.86±0.2μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         12.1±0.3ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          23.2±0.08ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.4±0.05ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.4±0.8μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           34.6±0.9μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.9±0.6μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.4±0.1ms 
                 200      49.5±0.8ms 
                 500      108±0.6ms  
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    6.60±0.03μs 
              100000     712±3μs   
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.60±0.06μs 
              100000     1.55±0ms  
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.73±0.04μs 
              100000     1.56±0ms  
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.58±0.07μs 
              100000    115±0.5μs  
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000     14.8±0.3μs 
              100000   3.37±0.01ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.32±0.04μs 
              100000     752±6μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      124±6ms  
                 200      308±50ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============ =============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols       1             5      
             =========== ============ =============
                  50      9.71±0.2ms   20.2±0.06ms 
                 200      37.9±0.3ms    79.9±0.7ms 
                 500      95.0±0.8ms     205±2ms   
             =========== ============ =============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.74±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.11±0.02ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.02±0.01ms
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         52.8±0.9μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        735±2ms  
                    True        461±40ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.34±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.01±0.04ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.19±0.03ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         77.8±0.5ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.13±0.03ms   2.41±0.06ms 
                  10      2.23±0.05ms   5.44±0.04ms 
             =========== ============= =============

[89.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[89.62%] ··· =========== =========
             --            n_days 
             ----------- ---------
              n_symbols     1260  
             =========== =========
                  10      984±7μs 
             =========== =========

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward               66.2±1ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         66.3±0.5ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          214±0.9ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            346±3ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models          386±0.8ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          378±0.9ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          377±0.4ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            384±2ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         89.9±0.5ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            681±6ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         63.6±0.4ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============= ==========
             --                symbols         
             --------- ------------------------
              windows        4           12    
             ========= ============= ==========
                 1      44.0±0.06ms   90.1±9ms 
                 3        62.8±1ms    143±10ms 
                 10       84.8±2ms    173±20ms 
             ========= ============= ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.52±0.01ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.41±0.06ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         63.9±0.6ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.42±0.03ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.9±0.3ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.54±0.02ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          264±0.6ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            264±1ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

Blocks only when a benchmark of at least 0.01s regresses by 1.25x. Shorter benchmarks are reported, never blocking: on this runner, identical code has produced ratios from 0.65 to 1.29 on sub-2ms benchmarks. Override via the bench-override PR label.

@github-actions

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.14)

Exit code: 0 (1 = flagged regression at --factor 1.25; 2 = a benchmark raised, so nothing was compared)

Gate — blocks only at or above 0.01s, where this runner can measure reliably:


No benchmark at or above 10ms regressed by 1.25x or more (73 benchmarks compared).
Full benchmark output
· No executable found for python 3.11
· No executable found for python 3.13
· Creating environments
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.14
·· Installing 0b2ffae0 into virtualenv-py3.14
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.14
[ 0.00%] ·· Benchmarking virtualenv-py3.14
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)....
[11.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[14.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--).......
[18.40%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models--).....
[20.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--).......
[24.06%] ··· Running (bench_data.YFinanceMultiSymbol.time_yfinance_reshape--)...
[25.00%] · For pybroker commit 0b2ffae0 (round 1/2):
[25.00%] ·· Building for virtualenv-py3.14
[25.00%] ·· Benchmarking virtualenv-py3.14
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)....
[36.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--).....
[38.68%] ··· Running (bench_backtest.PortfolioHeldStops.time_portfolio_held_stops--).......
[42.92%] ··· Running (bench_backtest.WalkforwardModels.time_walkforward_models--).....
[45.28%] ··· Running (bench_backtest.WalkforwardPerBar.time_walkforward_per_bar--)...
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit 0b2ffae0 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.14
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop            112±2ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          479±200μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  34.3±0.5μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.43±0.1μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.0±0.06ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.0±0.08ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.02ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.2±0.6μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             31.3±1μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            17.8±0.3μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      21.6±0.2ms 
                 200      46.4±0.3ms 
                 500      98.3±0.4ms 
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== ============
              length              
             -------- ------------
               1000    8.33±0.1μs 
              100000    684±5μs   
             ======== ============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000     7.34±0.2μs 
              100000   1.41±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000     7.42±0.3μs 
              100000   1.43±0.01ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    3.27±0.08μs 
              100000     111±2μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    15.0±0.08μs 
              100000   3.07±0.01ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== ============
              length              
             -------- ------------
               1000    5.69±0.4μs 
              100000    678±3μs   
             ======== ============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      137±3ms  
                 200      366±30ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.5±0.07ms   26.5±0.2ms 
                 200       39.7±0.2ms   103±0.5ms  
                 500       102±0.5ms     258±2ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         6.24±0.5ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           994±10μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store          994±100μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         79.7±0.8μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        850±1ms 
                    True        454±1ms 
             ================= =========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol         3.97±0.1ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.65±0.08ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags         4.72±0.2ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           96.0±1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.30±0.03ms   2.36±0.04ms 
                  10      2.31±0.02ms   5.33±0.08ms 
             =========== ============= =============

[64.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[64.62%] ··· =========== =============
             --              n_days   
             ----------- -------------
              n_symbols       1260    
             =========== =============
                  10      1.09±0.02ms 
             =========== =============

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                259M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward               84.6±2ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward           83.5±1ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          244±0.8ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            392±2ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            421±2ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            415±1ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            417±5ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            422±1ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window            105±3ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar           768±10ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           80.4±1ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      56.1±0.4ms   109±1ms  
                 3       79.8±1ms    162±8ms  
                 10     103±0.9ms    211±10ms 
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.32±0.02ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        6.54±0.09ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         77.5±0.6ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.54±0.05ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         28.8±0.2ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.74±0.02ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            319±1ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            318±2ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.14
[75.00%] ·· Benchmarking virtualenv-py3.14
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          115±0.9ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           479±20μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                    34.7±4μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.55±0.2μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         10.9±0.1ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          20.9±0.02ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.03ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.1±0.6μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             29.5±1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            19.0±0.7μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      22.1±0.4ms 
                 200      46.4±0.3ms 
                 500      99.1±0.9ms 
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    8.40±0.04μs 
              100000     688±10μs  
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000     7.33±0.1μs 
              100000   1.41±0.01ms 
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000     7.11±0.1μs 
              100000   1.42±0.01ms 
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== ============
              length              
             -------- ------------
               1000    3.30±0.1μs 
              100000    115±5μs   
             ======== ============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000    15.2±0.08μs 
              100000   3.07±0.01ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.55±0.06μs 
              100000     685±7μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      137±8ms  
                 200      369±10ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.3±0.05ms   26.0±0.2ms 
                 200       40.9±0.4ms   103±0.7ms  
                 500       102±0.2ms     260±3ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.92±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled            976±8μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           970±90μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           79.8±2μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ===========
              parallel_models             
             ----------------- -----------
                   False         851±6ms  
                    True        455±0.8ms 
             ================= ===========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.87±0.03ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.44±0.03ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.58±0.03ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         92.9±0.4ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.21±0.02ms   2.33±0.03ms 
                  10      2.25±0.03ms   5.24±0.04ms 
             =========== ============= =============

[89.62%] ··· ...rnels.time_slice_symbol_array_store_by_dates                 ok
[89.62%] ··· =========== =============
             --              n_days   
             ----------- -------------
              n_symbols       1260    
             =========== =============
                  10      1.08±0.01ms 
             =========== =============

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                260M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             82.2±0.4ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         82.7±0.7ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals            242±1ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            386±1ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models           429±10ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            417±6ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            415±1ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            419±2ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window          103±0.7ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar          759±0.8ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         78.9±0.3ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ===========
             --                symbols         
             --------- ------------------------
              windows       4            12    
             ========= ============ ===========
                 1      55.1±0.7ms   107±0.7ms 
                 3       79.7±1ms     164±9ms  
                 10      105±1ms      214±10ms 
             ========= ============ ===========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.43±0.1ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        6.54±0.04ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize           78.3±1ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.52±0.01ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         29.4±0.2ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.75±0.02ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            320±5ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            323±3ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

Blocks only when a benchmark of at least 0.01s regresses by 1.25x. Shorter benchmarks are reported, never blocking: on this runner, identical code has produced ratios from 0.65 to 1.29 on sub-2ms benchmarks. Override via the bench-override PR label.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants