Skip to content

chore(deps): Update matplotlib requirement from >=3.11.1 to >=3.11.2 - #334

Open
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/pip/dev/matplotlib-gte-3.11.2
Open

dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/pip/dev/matplotlib-gte-3.11.2

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updates the requirements on matplotlib to permit the latest version.

Release notes

Sourced from matplotlib's releases.

REL: v3.11.2

This is the second bugfix release of the 3.11.x series.

This release contains several bug-fixes and adjustments:

  • Speed up RGBA-stage image resampling
  • Fix hexbin clipping in PDF output
  • Fix \text with internal braces
  • Fix some crashes and make some checks more robust to unlikely cases
  • Fix frame skew when saving GIF animations with PillowWriter
  • Fix HiDPI handling in Qt toolbar and WebAgg embeddings
  • Fix ResizeEvent handling for TextBox
  • Fix bug with PGF hatch linewidth and color
  • Fix a bug with drawing an empty Collection
  • Fix incorrect glyphs in Cairo backends
  • Improve build system to prevent conflicts between wheels and system libraries
Commits
  • d3ca917 REL: v3.11.2
  • b76fea9 DOC: Set current version to 3.11.2
  • 39c7f06 DOC: Prepare GitHub stats for 3.11.2
  • 5dd13e3 Merge branch 'v3.11.1-doc' into release-3.11.2
  • aa484be Merge branch 'v3.11.0-doc' into v3.11.1-doc
  • 0e10f83 Merge pull request #32330 from meeseeksmachine/auto-backport-of-pr-32324-on-v...
  • ebe947b Backport PR #32324: Don't force any diagnostics to be errors in bundled Harfbuzz
  • 8f4b7c5 Merge pull request #32322 from meeseeksmachine/auto-backport-of-pr-32321-on-v...
  • 93278ad Backport PR #32321: DOC: correct note about PyOS_InputHook
  • b0aee78 Merge pull request #32319 from meeseeksmachine/auto-backport-of-pr-32305-on-v...
  • Additional commits viewable in compare view

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 [matplotlib](https://github.com/matplotlib/matplotlib) to permit the latest version.
- [Release notes](https://github.com/matplotlib/matplotlib/releases)
- [Commits](matplotlib/matplotlib@v3.11.1...v3.11.2)

---
updated-dependencies:
- dependency-name: matplotlib
  dependency-version: 3.11.2
  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 21, 2026
@github-actions

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.14)

Exit code: 1 (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.78  bench_backtest.CacheDiskHit.time_cache_disk_get
   0.72  bench_backtest.CacheL1Hit.time_cache_l1_get
   0.86  bench_backtest.IndicatorParallel.time_indicator_set_call_parallel(200, 5)
   0.89  bench_backtest.IndicatorPreprocess.time_indicator_set_call(500, 5)
   0.90  bench_backtest.WalkforwardScaled.time_walkforward_scaled(3, 4)
   0.54  bench_data.DataSourceCacheWrite.time_cache_write
   0.91  bench_data.YFinanceMultiSymbol.time_yfinance_reshape

Moved, but not blocking (under 1.25x, or under the 10ms floor where this runner's noise exceeds the factor):
   1.14  bench_backtest.EvalKernels.time_profit_factor  (baseline 19.489us)
   1.12  bench_backtest.ModelTrainPrep.time_train_models_pooled  (baseline 2.01051ms)
   1.12  bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame(4, 504)  (baseline 700.327us)

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 47e63f9a 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.60%] ··· Running (bench_backtest.IndicatorKernels.time_highv--).......
[ 9.91%] ··· Running (bench_backtest.LagPrepBottlenecks.time_apply_lags_pooled--)..........
[14.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)..........
[20.28%] ··· Running (bench_backtest.WalkforwardPerBar.time_walkforward_per_bar--).........
[24.53%] ··· Running (bench_slippage.WalkforwardVolatilitySlippage.time_walkforward_volatility_slippage--)..
[25.00%] · For pybroker commit 47e63f9a (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.60%] ··· Running (bench_backtest.IndicatorKernels.time_highv--).......
[34.91%] ··· Running (bench_backtest.LagPrepBottlenecks.time_apply_lags_pooled--)..........
[39.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)..........
[45.28%] ··· Running (bench_backtest.WalkforwardPerBar.time_walkforward_per_bar--)..........
[50.00%] ··· Running (bench_slippage.WalkforwardVolumeSlippage.time_walkforward_volume_slippage--).
[50.00%] · For pybroker commit 47e63f9a (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.14
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         61.6±0.2ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          502±100μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  15.9±0.7μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.15±0.3μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        7.40±0.04ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           15.3±0.1ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           17.1±0.7ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown           5.75±0.09μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             22.2±1μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            8.81±0.4μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      13.5±0.7ms 
                 200      30.2±0.1ms 
                 500      67.5±0.6ms 
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000    5.74±0.09μs 
              100000     586±20μs  
             ======== =============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    5.35±0.04μs 
              100000     1.17±0ms  
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    5.35±0.04μs 
              100000     1.21±0ms  
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    1.61±0.02μs 
              100000    82.0±0.4μs 
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    11.7±0.05μs 
              100000   2.56±0.01ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== ============
              length              
             -------- ------------
               1000    3.96±0.1μs 
              100000    473±6μs   
             ======== ============

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

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= =============
             --                  n_indicators       
             ----------- ---------------------------
              n_symbols        1             5      
             =========== ============= =============
                  50      6.23±0.07ms   13.4±0.06ms 
                 200       23.7±0.1ms    53.0±0.4ms 
                 500       62.0±0.7ms     135±1ms   
             =========== ============= =============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled        4.29±0.06ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           789±50μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           717±60μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           39.3±2μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        487±3ms 
                    True        229±5ms 
             ================= =========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.18±0.01ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled         2.25±0.1ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags         3.02±0.2ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           53.5±4ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         785±50μs    1.47±0.01ms 
                  10      1.39±0.01ms    3.68±0.2ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                260M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             44.7±0.5ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         44.8±0.3ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            136±1ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large           229±10ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models           238±10ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            234±2ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached           237±10ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            239±1ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         59.6±0.9ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            414±3ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           45.0±4ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      30.1±0.3ms   58.4±4ms 
                 3      42.7±0.6ms   92.6±4ms 
                 10     57.7±0.4ms   121±7ms  
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        1.69±0.03ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        3.72±0.01ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         46.7±0.3ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.06±0.02ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write          49.3±50ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.03±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            178±9ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            181±8ms
[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         63.9±0.1ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           643±80μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  17.3±0.6μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.00±0.4μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         8.04±0.5ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf             16.2±1ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           17.0±0.2ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            5.67±0.2μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           19.5±0.1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            8.95±0.5μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      13.0±0.2ms 
                 200      30.4±0.3ms 
                 500      67.9±0.9ms 
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    5.72±0.06μs 
              100000     579±30μs  
             ======== =============

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

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    1.56±0.02μs 
              100000    82.1±0.8μs 
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000     12.1±0.7μs 
              100000   2.57±0.03ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.00±0.09μs 
              100000     477±3μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      86.0±7ms 
                 200      209±30ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      6.30±0.07ms   14.1±0.8ms 
                 200       23.8±0.2ms   53.9±0.4ms 
                 500       61.7±0.4ms    152±7ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         4.34±0.4ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           832±40μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           661±10μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         39.5±0.8μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        477±9ms 
                    True        226±1ms 
             ================= =========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.17±0.01ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.01±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags         2.91±0.1ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           50.5±1ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         700±20μs    1.46±0.01ms 
                  10      1.41±0.01ms    3.92±0.3ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                260M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             44.4±0.3ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         44.3±0.5ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          136±0.3ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            224±9ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            237±1ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            236±2ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          235±0.6ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol           237±10ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         59.5±0.3ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar           413±20ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           45.7±3ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ========== ==========
             --               symbols       
             --------- ---------------------
              windows      4          12    
             ========= ========== ==========
                 1      31.5±2ms   59.9±4ms 
                 3      47.2±2ms   93.9±2ms 
                 10     58.3±2ms   127±7ms  
             ========= ========== ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        1.71±0.01ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi         3.85±0.3ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         46.8±0.3ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.08±0.03ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write          91.1±50ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.13±0.08ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            177±1ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          175±0.6ms
| Change   | Before [eb9d3400]    | After [47e63f9a]    |   Ratio | Benchmark (Parameter)                         |
|----------|----------------------|---------------------|---------|-----------------------------------------------|
| +        | 19.5±0.1μs           | 22.2±1μs            |    1.14 | bench_backtest.EvalKernels.time_profit_factor |

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE DECREASED.

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:

Faster (never blocks):
   0.78  bench_backtest.CacheDiskHit.time_cache_disk_get
   0.85  bench_data.DataSourceCacheWrite.time_cache_write

Moved, but not blocking (under 1.25x, or under the 10ms floor where this runner's noise exceeds the factor):
   1.11  bench_backtest.IndicatorParallel.time_indicator_set_call_parallel(50, 5)  (baseline 89.2513ms)

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 47e63f9a 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.60%] ··· Running (bench_backtest.IndicatorKernels.time_highv--).......
[ 9.91%] ··· Running (bench_backtest.LagPrepBottlenecks.time_apply_lags_pooled--).........
[14.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--).........
[19.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--)......
[22.17%] ··· Running (bench_common.IntervalCompression.time_compress_intervals_multi--).......
[25.00%] · For pybroker commit 47e63f9a (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.60%] ··· Running (bench_backtest.IndicatorKernels.time_highv--).......
[34.91%] ··· Running (bench_backtest.LagPrepBottlenecks.time_apply_lags_pooled--).........
[39.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--).........
[44.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--)......
[47.17%] ··· Running (bench_common.IntervalCompression.time_compress_intervals_multi--).......
[50.00%] · For pybroker commit 47e63f9a (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.13
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         78.5±0.2ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          344±100μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  24.2±0.4μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            2.07±0.09μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        9.16±0.03ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           18.1±0.4ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          19.8±0.03ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            8.90±0.2μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           25.6±0.7μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            15.8±0.4μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      15.4±0.2ms 
                 200      37.2±0.4ms 
                 500      82.8±0.4ms 
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000    5.23±0.05μs 
              100000     553±4μs   
             ======== =============

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

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    5.24±0.09μs 
              100000     1.21±0ms  
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.06±0.01μs 
              100000    97.0±0.2μs 
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    11.5±0.05μs 
              100000     2.61±0ms  
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    3.71±0.03μs 
              100000     591±6μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      99.2±2ms 
                 200      232±40ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      7.30±0.04ms   15.2±0.1ms 
                 200       28.6±0.3ms   63.7±0.6ms 
                 500        74.1±1ms    158±0.9ms  
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled        5.02±0.05ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           869±10μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           778±20μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         40.9±0.3μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        620±2ms 
                    True        359±6ms 
             ================= =========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.54±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.32±0.02ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.29±0.03ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           59.4±1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         851±10μs    1.79±0.03ms 
                  10      1.70±0.04ms   4.19±0.03ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                249M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             50.9±0.7ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         50.6±0.2ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            166±2ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               257M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            268±3ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            300±1ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            295±2ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached          294±0.9ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          298±0.4ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         69.1±0.3ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            524±1ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         47.9±0.3ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      34.2±0.1ms   70.0±7ms 
                 3      48.8±0.7ms   119±4ms  
                 10     64.5±0.5ms   136±10ms 
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        1.99±0.02ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        4.26±0.01ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize           48.7±1ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.11±0.04ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write           29.6±9ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape           1.19±0ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          203±0.4ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          204±0.3ms
[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         79.5±0.2ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          440±100μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  22.5±0.2μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            2.06±0.05μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        9.09±0.02ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          18.0±0.03ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           20.4±0.7ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            8.85±0.2μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           25.8±0.4μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            15.4±0.3μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      15.5±0.04ms 
                 200       37.5±0.5ms 
                 500        83.8±1ms  
             =========== =============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    5.14±0.01μs 
              100000     545±5μs   
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    5.18±0.02μs 
              100000     1.20±0ms  
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    5.23±0.02μs 
              100000     1.21±0ms  
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.11±0.06μs 
              100000    97.1±0.4μs 
             ======== =============

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

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    3.68±0.03μs 
              100000     588±3μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      89.3±5ms 
                 200      227±30ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      7.26±0.06ms   15.3±0.1ms 
                 200       28.0±0.3ms   61.0±0.6ms 
                 500       73.2±0.9ms    158±1ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         4.95±0.3ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           885±10μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store            786±2μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           39.9±2μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        619±7ms  
                    True        351±20ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.56±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.27±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.25±0.01ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         59.0±0.1ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         839±3μs     1.78±0.01ms 
                  10      1.70±0.01ms   4.17±0.03ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                249M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             50.5±0.7ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         50.6±0.2ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          165±0.4ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               257M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            271±1ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            298±2ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          293±0.9ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          294±0.5ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            300±2ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         69.2±0.2ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            524±3ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         48.6±0.3ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      34.1±0.1ms   76.1±7ms 
                 3      49.0±0.5ms   118±5ms  
                 10      65.9±1ms    135±10ms 
             ========= ============ ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large           1.99±0ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        4.23±0.05ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         48.9±0.1ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.11±0.01ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write          34.7±10ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.19±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          203±0.5ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          205±0.7ms

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.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:


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 47e63f9a 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 47e63f9a (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--)...........
[43.40%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models--).......
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit 47e63f9a (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.11
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         97.4±0.6ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           382±20μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  29.8±0.4μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            2.78±0.06μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.8±0.01ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           21.8±0.6ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.1±0.02ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            10.9±0.2μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           29.6±0.6μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            16.5±0.2μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      18.6±0.06ms 
                 200       38.9±0.4ms 
                 500       82.5±0.5ms 
             =========== =============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000    7.96±0.09μs 
              100000   1.57±0.01ms 
             ======== =============

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

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== ============
              length              
             -------- ------------
               1000    6.52±0.1μs 
              100000    1.64±0ms  
             ======== ============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.81±0.07μs 
              100000     328±2μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.0±0.06μs 
              100000   3.95±0.01ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== ============
              length              
             -------- ------------
               1000    5.15±0.1μs 
              100000    909±7μs   
             ======== ============

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

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      8.91±0.05ms   22.8±0.1ms 
                 200       33.3±0.2ms   87.3±0.5ms 
                 500       85.8±0.6ms   222±0.8ms  
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.69±0.4ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled            803±6μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           918±20μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         61.4±0.6μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        796±3ms  
                    True        469±30ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.35±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.87±0.03ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.96±0.01ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         75.0±0.2ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         1.01±0ms    1.84±0.03ms 
                  10      1.83±0.01ms   4.06±0.04ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                246M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             68.5±0.5ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         68.7±0.5ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          200±0.9ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               254M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            289±2ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            316±1ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            314±2ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached          310±0.4ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          318±0.7ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         87.0±0.3ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar          627±0.5ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         65.9±0.4ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      46.8±0.2ms   91.4±0.3ms 
                 3      65.7±0.2ms   130±0.2ms  
                 10     88.0±0.3ms   179±0.8ms  
             ========= ============ ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.08±0.01ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.57±0.01ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         59.8±0.2ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.37±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.1±0.2ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.58±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          264±0.7ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          265±0.5ms
[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         98.0±0.4ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           382±10μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  29.5±0.3μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            2.77±0.06μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.7±0.01ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.0±0.01ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.1±0.02ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.4±0.2μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           27.5±0.6μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            16.4±0.3μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      18.6±0.1ms 
                 200      39.1±0.2ms 
                 500      83.3±0.3ms 
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    7.77±0.06μs 
              100000   1.59±0.01ms 
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.49±0.08μs 
              100000     1.63±0ms  
             ======== =============

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.92±0.02μs 
              100000     330±5μs   
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000     14.1±0.1μs 
              100000   3.93±0.01ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.21±0.06μs 
              100000     910±4μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      134±5ms  
                 200      315±40ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      8.92±0.06ms   22.8±0.2ms 
                 200       33.7±0.4ms   86.9±0.3ms 
                 500       85.7±0.5ms    224±1ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled        5.73±0.06ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           771±20μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store            902±9μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         61.0±0.7μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        801±2ms  
                    True        460±20ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.32±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.85±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags           3.94±0ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         75.7±0.3ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.01±0.01ms   1.83±0.01ms 
                  10      1.84±0.02ms   4.10±0.06ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                246M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             69.0±0.3ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         68.9±0.2ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          199±0.6ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               254M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            291±1ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            315±1ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            314±4ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            311±1ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          316±0.2ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         86.9±0.1ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            626±3ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         66.5±0.6ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      46.7±0.2ms   90.4±0.2ms 
                 3      65.9±0.1ms    130±1ms   
                 10     87.7±0.2ms   179±0.5ms  
             ========= ============ ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.09±0.4ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.45±0.02ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         60.1±0.1ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.39±0.01ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         25.8±0.1ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.53±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          265±0.4ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          264±0.6ms

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:

Faster (never blocks):
   0.87  bench_backtest.CacheDiskHit.time_cache_disk_get

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 47e63f9a 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.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 47e63f9a (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.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--)........
[43.87%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models_cached--)......
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit 47e63f9a (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.12
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         98.8±0.4ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           458±40μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  32.8±0.7μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.48±0.3μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         11.0±0.1ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.0±0.09ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.03ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown              11.9±1μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             29.2±2μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio              19.9±3μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      21.7±0.4ms 
                 200       49.0±1ms  
                 500      105±0.9ms  
             =========== ============

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

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

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.89±0.03μs 
              100000   1.65±0.01ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    3.38±0.05μs 
              100000     337±5μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.5±0.07μs 
              100000     3.93±0ms  
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.50±0.07μs 
              100000     902±3μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      154±5ms  
                 200      375±20ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.3±0.08ms   25.1±0.1ms 
                 200      40.6±0.09ms   98.6±0.7ms 
                 500        103±1ms      252±2ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.51±0.1ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.04±0.01ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.03±0.07ms
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           63.0±1μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ===========
              parallel_models             
             ----------------- -----------
                   False         856±2ms  
                    True        466±0.6ms 
             ================= ===========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.81±0.03ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.31±0.01ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags         4.64±0.1ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         81.8±0.6ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.19±0.02ms   2.39±0.01ms 
                  10      2.25±0.02ms   5.38±0.05ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward               74.1±2ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward           75.8±1ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          219±0.9ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               253M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            313±2ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          377±0.8ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            371±2ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            370±1ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          379±0.8ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         91.9±0.3ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            726±2ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         72.4±0.4ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      52.1±0.3ms   98.2±0.3ms 
                 3      73.0±0.8ms   140±0.9ms  
                 10     95.2±0.8ms    192±1ms   
             ========= ============ ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.35±0.05ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        6.28±0.03ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         68.9±0.3ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.63±0.05ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         28.2±0.5ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.73±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            289±2ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            286±4ms
[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.3±0.7ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           527±40μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  32.6±0.3μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.38±0.7μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.9±0.02ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          20.9±0.05ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.03ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.0±0.5μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             28.8±2μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio              18.9±1μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      21.6±0.1ms 
                 200      48.5±0.4ms 
                 500       103±1ms   
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    8.40±0.06μs 
              100000   1.61±0.02ms 
             ======== =============

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

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    7.00±0.05μs 
              100000   1.64±0.01ms 
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    3.24±0.06μs 
              100000     331±7μs   
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.5±0.02μs 
              100000   3.92±0.01ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.54±0.08μs 
              100000     907±3μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      153±9ms  
                 200      411±30ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.5±0.04ms   26.0±0.5ms 
                 200       40.6±0.4ms    102±2ms   
                 500       103±0.8ms     258±1ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.78±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.08±0.01ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.04±0.02ms
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         62.8±0.5μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        870±3ms 
                    True        466±2ms 
             ================= =========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.79±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.35±0.03ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.57±0.04ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         83.9±0.4ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.22±0.02ms   2.42±0.02ms 
                  10      2.29±0.02ms   5.38±0.04ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             76.7±0.3ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward           76.6±1ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          221±0.7ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               253M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          316±0.7ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            379±1ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          374±0.4ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            373±1ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          382±0.9ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         92.1±0.2ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            730±1ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         74.1±0.3ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      52.0±0.6ms   99.2±0.4ms 
                 3      73.1±0.9ms    142±1ms   
                 10     96.9±0.8ms    196±3ms   
             ========= ============ ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.42±0.4ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        6.33±0.05ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         69.3±0.6ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.68±0.05ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         28.2±0.5ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.72±0.02ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            292±1ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          290±0.6ms

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