Skip to content

chore(deps): Update pandas requirement from >=3.0.5 to >=3.0.6 - #336

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

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

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 5, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on pandas to permit the latest version.

Release notes

Sourced from pandas's releases.

pandas 3.0.6

We are pleased to announce the release of pandas 3.0.6. This is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version. This is also the first release to support Python 3.15.

See the full whatsnew for a list of all the changes.

Pandas 3.0 supports Python 3.11 and higher. The release can be installed from PyPI:

python -m pip install --upgrade pandas==3.0.*

Or from conda-forge

conda install -c conda-forge pandas=3.0

Please report any issues with the release on the pandas issue tracker.

Thanks to all the contributors who made this release possible.

Commits
  • 2905718 RLS: 3.0.6
  • 3188ced [backport 3.0.x] BUG: read_csv(sep=None) raised TypeError instead of falling...
  • f097905 DOC: cleanup 3.0.6 whatsnew + mention Python 3.15 support (#68965) (#68969)
  • 4f68223 [backport 3.0.x] BUG: fix setting with bool column mask into 1-column DataFra...
  • e3df0e8 [backport 3.0.x] BUG: full-slice setitem into a pyarrow-backed array shared m...
  • b7735f6 Backport PR #66117 on branch 3.0.x (BUG: interpolate leaving NAs unfilled for...
  • bca0b77 [backport 3.0.x] BUG: read_csv leaked the string-intern table when a column f...
  • bca1e5d [backport 3.0.x] BUG: prevent external mutation of RangeIndex._data (CoW) (#6...
  • c95b42c [3.0.x] CI: skip cython-lint on pre-commit.ci (#68910)
  • 9cbd884 [backport 3.0.x] Backport of some already merged regression fixes (#68447)
  • 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 [pandas](https://github.com/pandas-dev/pandas) to permit the latest version.
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Commits](pandas-dev/pandas@v3.0.5...v3.0.6)

---
updated-dependencies:
- dependency-name: pandas
  dependency-version: 3.0.6
  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 Oct 5, 2026
@github-actions

github-actions Bot commented Oct 5, 2026

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:

Faster (never blocks):
   0.83  bench_backtest.EvalBootstrap.time_evaluate_bootstrap

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 6fe413d4 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--)......
[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 6fe413d4 (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.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 6fe413d4 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.14
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop           79.0±1ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           428±30μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  17.5±0.3μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.09±0.1μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        9.10±0.08ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           18.4±0.1ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           21.4±0.2ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            7.65±0.4μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           24.7±0.9μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            11.4±0.3μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      15.9±0.1ms 
                 200      38.3±0.5ms 
                 500       86.6±2ms  
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== ============
              length              
             -------- ------------
               1000    5.89±0.3μs 
              100000    619±10μs  
             ======== ============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000     6.64±0.3μs 
              100000   1.40±0.02ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.37±0.09μs 
              100000   1.43±0.03ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    1.97±0.06μs 
              100000     95.1±3μs  
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000     14.3±0.1μs 
              100000   3.01±0.02ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.14±0.08μs 
              100000     565±9μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      99.0±2ms 
                 200      243±30ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      7.61±0.06ms   16.6±0.4ms 
                 200       30.2±0.8ms   67.8±0.8ms 
                 500       76.3±0.7ms    172±2ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         4.77±0.4ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           869±20μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           918±60μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           49.8±3μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        552±7ms  
                    True        262±30ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.62±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.43±0.03ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.33±0.05ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         62.5±0.7ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         877±10μs    1.83±0.02ms 
                  10      1.75±0.02ms   4.34±0.07ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                253M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward               55.1±2ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         55.7±0.4ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            167±2ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               262M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            266±4ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            295±2ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            290±1ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            289±2ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            294±2ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           72.9±1ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            506±5ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         52.0±0.4ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      36.7±0.3ms   73.3±5ms 
                 3       53.5±2ms    111±6ms  
                 10      70.5±1ms    143±9ms  
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        1.92±0.04ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        4.50±0.08ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         58.0±0.5ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.15±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write           26.5±5ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.23±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            214±2ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          216±0.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         78.5±0.5ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           406±10μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  18.6±0.2μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            2.21±0.08μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap           11.0±1ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           18.3±0.1ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           22.6±0.9ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            7.90±0.3μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           24.5±0.2μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            11.0±0.6μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      16.4±0.5ms 
                 200      38.4±0.2ms 
                 500       83.8±2ms  
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== ============
              length              
             -------- ------------
               1000    6.08±0.1μs 
              100000    628±10μs  
             ======== ============

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

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.31±0.08μs 
              100000   1.40±0.01ms 
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    1.98±0.06μs 
              100000     93.3±2μs  
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000     14.4±0.3μs 
              100000   3.02±0.04ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.20±0.02μs 
              100000     567±7μs   
             ======== =============

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

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      7.54±0.07ms   16.6±0.2ms 
                 200       29.1±0.2ms    65.6±2ms  
                 500        76.4±1ms     170±3ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         4.80±0.7ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           859±20μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           844±40μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           47.5±1μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        536±10ms 
                    True        280±40ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.73±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.45±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.46±0.06ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           62.8±1ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         876±8μs     1.87±0.02ms 
                  10      1.75±0.01ms   4.31±0.03ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                254M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward               55.0±1ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         54.7±0.6ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals            170±2ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               262M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            267±2ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            296±4ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            296±5ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            294±3ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            299±4ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         74.7±0.8ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar           522±10ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         53.4±0.8ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      37.6±0.3ms   74.6±5ms 
                 3      53.3±0.6ms   112±5ms  
                 10     71.5±0.7ms   144±9ms  
             ========= ============ ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        1.93±0.04ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        4.55±0.03ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         58.4±0.6ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.18±0.01ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write           28.7±4ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.23±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          216±0.6ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            219±2ms

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

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.13)

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_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.21  bench_data.DataSourceCacheRead.time_cache_read  (baseline 1.11128ms) [I/O-bound, never blocks]

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 6fe413d4 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 6fe413d4 (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--)........
[38.68%] ··· Running (bench_backtest.PortfolioHeldStops.time_portfolio_held_stops--).........
[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 6fe413d4 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.13
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         78.8±0.8ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          462±100μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  22.3±0.2μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.20±0.1μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        9.21±0.09ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           19.0±0.5ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          20.4±0.02ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            9.33±0.3μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           25.3±0.4μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            16.0±0.6μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      15.8±0.4ms 
                 200      37.5±0.9ms 
                 500       83.6±1ms  
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000    5.22±0.02μs 
              100000     557±6μs   
             ======== =============

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

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    5.22±0.05μs 
              100000     1.20±0ms  
             ======== =============

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

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

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

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      101±2ms  
                 200      246±30ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      7.38±0.05ms   15.7±0.3ms 
                 200       29.1±0.5ms   63.9±0.9ms 
                 500        77.3±1ms     162±1ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         4.95±0.4ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           896±10μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           825±50μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         40.4±0.5μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        618±2ms  
                    True        365±20ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.57±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.37±0.04ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.39±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         62.0±0.6ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         890±8μs     1.78±0.02ms 
                  10      1.72±0.04ms   4.21±0.02ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                243M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward               53.7±1ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         53.6±0.5ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            168±1ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               251M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            275±5ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            303±1ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            300±3ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            297±1ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            303±2ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         70.9±0.8ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            527±1ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         49.7±0.4ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ========== ==========
             --               symbols       
             --------- ---------------------
              windows      4          12    
             ========= ========== ==========
                 1      36.1±1ms   70.8±7ms 
                 3      51.0±1ms   113±10ms 
                 10     66.3±1ms   140±10ms 
             ========= ========== ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.06±0.02ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        4.26±0.03ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         49.5±0.4ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.35±0.02ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write           38.0±9ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.26±0.05ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          206±0.4ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          206±0.7ms
[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.4±0.4ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          497±100μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  22.6±0.5μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.24±0.2μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        9.25±0.05ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          18.4±0.08ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          20.4±0.02ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            9.17±0.4μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           25.5±0.8μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            15.6±0.2μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      15.5±0.2ms 
                 200      37.4±0.6ms 
                 500       84.9±2ms  
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    5.16±0.02μs 
              100000     551±6μs   
             ======== =============

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

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.05±0.02μs 
              100000     98.0±4μs  
             ======== =============

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

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

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      97.7±2ms 
                 200      230±20ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      7.24±0.07ms   15.1±0.2ms 
                 200       28.9±0.3ms   60.1±0.8ms 
                 500       73.8±0.7ms    157±2ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         4.97±0.4ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           867±10μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store            780±7μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         39.5±0.2μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        619±4ms  
                    True        370±30ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.54±0.01ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.36±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.26±0.02ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops        59.1±0.09ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         842±6μs     1.75±0.01ms 
                  10      1.74±0.01ms   4.18±0.02ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                243M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             50.1±0.6ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         50.1±0.2ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          163±0.9ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               251M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            267±2ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models           310±10ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          296±0.7ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            300±5ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            300±1ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window        69.1±0.09ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            527±3ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         48.6±0.7ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      33.9±0.1ms   70.4±7ms 
                 3      48.0±0.6ms   115±9ms  
                 10     63.5±0.6ms   133±10ms 
             ========= ============ ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        1.98±0.01ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        4.27±0.06ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         49.1±0.7ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.11±0.01ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write          48.7±10ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.18±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          203±0.7ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            202±1ms
| Change   | Before [eb9d3400]    | After [6fe413d4]    |   Ratio | Benchmark (Parameter)                          |
|----------|----------------------|---------------------|---------|------------------------------------------------|
| +        | 1.11±0.01ms          | 1.35±0.02ms         |    1.21 | bench_data.DataSourceCacheRead.time_cache_read |

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

github-actions Bot commented Oct 5, 2026

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.88  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 6fe413d4 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.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--).....
[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 6fe413d4 (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.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[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 6fe413d4 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.12
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         93.1±0.1ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           596±10μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  23.5±0.3μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.92±0.1μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.0±0.09ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           22.4±0.1ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.5±0.03ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.0±0.3μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           23.9±0.2μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            19.4±0.2μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.5±0.4ms 
                 200      46.3±0.2ms 
                 500       102±1ms   
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000    7.31±0.08μs 
              100000   1.39±0.03ms 
             ======== =============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000     7.85±0.3μs 
              100000   1.61±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000     8.00±0.5μs 
              100000   1.74±0.05ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    5.38±0.05μs 
              100000     544±3μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000     16.5±0.6μs 
              100000   4.02±0.02ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.27±0.04μs 
              100000     775±8μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      145±5ms  
                 200      359±10ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= =============
             --                  n_indicators       
             ----------- ---------------------------
              n_symbols        1             5      
             =========== ============= =============
                  50      9.56±0.09ms   22.5±0.07ms 
                 200       36.9±0.1ms    87.6±0.3ms 
                 500       93.5±0.6ms    220±0.2ms  
             =========== ============= =============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         6.13±0.2ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.02±0.01ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.01±0.03ms
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         52.5±0.9μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        882±7ms 
                    True        499±4ms 
             ================= =========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.24±0.03ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.94±0.02ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.22±0.08ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         74.5±0.2ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         1.04±0ms    2.08±0.01ms 
                  10      2.02±0.02ms   4.84±0.04ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                239M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             67.3±0.3ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         68.0±0.4ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            200±2ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               247M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          281±0.3ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models           359±10ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            348±3ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            354±8ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          350±0.8ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           90.7±2ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar           650±10ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         65.6±0.4ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      45.9±0.4ms   89.2±2ms 
                 3      65.2±0.3ms   126±2ms  
                 10      86.6±2ms    174±2ms  
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.67±0.1ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.71±0.01ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         69.6±0.5ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.85±0.06ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         25.0±0.3ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.61±0.03ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            261±2ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            258±1ms
[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         93.2±0.2ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           679±40μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  23.8±0.3μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.81±0.1μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         11.2±0.1ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          22.6±0.04ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.5±0.07ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.0±0.2μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           24.4±0.6μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.0±0.5μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.6±0.5ms 
                 200      46.6±0.4ms 
                 500       103±1ms   
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000     7.52±0.1μs 
              100000   1.39±0.01ms 
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000     7.96±0.4μs 
              100000   1.61±0.01ms 
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000     7.51±0.2μs 
              100000   1.69±0.04ms 
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== ============
              length              
             -------- ------------
               1000    5.47±0.6μs 
              100000    547±6μs   
             ======== ============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000      17.4±2μs  
              100000   4.06±0.03ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.29±0.06μs 
              100000     780±10μs  
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== =========
             --          n_indicators
             ----------- ---------
              n_symbols      5    
             =========== =========
                  50      136±6ms 
                 200      360±8ms 
             =========== =========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= =============
             --                  n_indicators       
             ----------- ---------------------------
              n_symbols        1             5      
             =========== ============= =============
                  50      9.34±0.04ms   22.4±0.08ms 
                 200       36.7±0.4ms    87.5±0.2ms 
                 500       94.0±0.2ms     220±2ms   
             =========== ============= =============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.71±0.9ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.01±0.01ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.01±0.02ms
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         52.4±0.6μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        871±1ms 
                    True        496±3ms 
             ================= =========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.29±0.06ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.86±0.06ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags         4.17±0.1ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         73.6±0.2ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         1.04±0ms    2.10±0.01ms 
                  10      2.04±0.01ms   4.86±0.03ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                239M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             68.1±0.5ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         67.6±0.2ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          199±0.8ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               247M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            281±2ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            346±2ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          341±0.8ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            350±6ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            349±3ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         89.9±0.6ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            646±5ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         65.0±0.6ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      46.0±0.2ms   88.7±0.6ms 
                 3      65.1±0.4ms   125±0.5ms  
                 10     86.7±0.4ms   174±0.6ms  
             ========= ============ ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.88±0.2ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.71±0.06ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         68.4±0.8ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.76±0.05ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         24.5±0.2ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.58±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            259±2ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          259±0.7ms
| Change   | Before [eb9d3400]    | After [6fe413d4]    |   Ratio | Benchmark (Parameter)                           |
|----------|----------------------|---------------------|---------|-------------------------------------------------|
| -        | 679±40μs             | 596±10μs            |    0.88 | bench_backtest.CacheDiskHit.time_cache_disk_get |

SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.

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

github-actions Bot commented Oct 5, 2026

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.CacheL1Hit.time_cache_l1_get

Moved, but not blocking (under 1.25x, or under the 10ms floor where this runner's noise exceeds the factor):
   1.12  bench_backtest.CacheDiskHit.time_cache_disk_get  (baseline 481.607us) [I/O-bound, never blocks]

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 6fe413d4 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--)....
[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 6fe413d4 (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--)....
[36.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[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 6fe413d4 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.11
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          100±0.5ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           540±30μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  30.9±0.4μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            3.22±0.05μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.5±0.06ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.6±0.09ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           23.9±0.5ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            14.1±0.3μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           33.4±0.7μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            21.0±0.7μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      19.6±0.2ms 
                 200      41.3±0.1ms 
                 500      86.4±0.5ms 
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000    7.93±0.09μs 
              100000   1.66±0.03ms 
             ======== =============

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

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

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.87±0.05μs 
              100000     334±2μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.2±0.06μs 
              100000   4.01±0.02ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.16±0.09μs 
              100000     910±5μs   
             ======== =============

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

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      9.34±0.07ms   24.5±0.3ms 
                 200       35.4±0.3ms   93.0±0.3ms 
                 500       89.7±0.6ms    233±2ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         6.06±0.1ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           796±20μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           937±10μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           62.4±2μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        826±2ms  
                    True        482±30ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.41±0.05ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.88±0.03ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.05±0.04ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         78.5±0.4ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.02±0.02ms   1.87±0.03ms 
                  10      1.86±0.03ms   4.27±0.06ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                240M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             71.5±0.9ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         72.7±0.5ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            208±2ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               249M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            299±2ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            324±2ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            319±2ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            318±2ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            325±2ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           91.9±2ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            644±3ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         69.6±0.6ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      49.4±0.5ms   95.0±1ms 
                 3      69.3±0.8ms   135±1ms  
                 10     91.4±0.8ms   189±1ms  
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.26±0.04ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.62±0.06ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         61.7±0.4ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.47±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.9±0.3ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.57±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          276±0.9ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            274±2ms
[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          101±0.2ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           482±40μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  30.8±0.6μ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         11.7±0.2ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.4±0.02ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.4±0.03ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            14.2±0.2μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             33.9±2μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.6±0.7μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      19.6±0.1ms 
                 200      41.8±0.4ms 
                 500      87.2±0.7ms 
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    7.94±0.07μs 
              100000   1.65±0.02ms 
             ======== =============

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

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== ============
              length              
             -------- ------------
               1000    2.96±0.2μs 
              100000    334±8μs   
             ======== ============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000     14.2±0.1μs 
              100000   3.96±0.02ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.23±0.09μs 
              100000     911±7μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      138±7ms  
                 200      348±10ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      9.20±0.07ms   24.1±0.5ms 
                 200       35.6±0.3ms   94.0±0.6ms 
                 500        91.0±1ms     234±1ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled        6.14±0.06ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           810±20μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           953±20μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           64.1±2μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        823±2ms  
                    True        450±30ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.39±0.04ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.94±0.03ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.14±0.03ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           78.5±1ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.08±0.01ms   1.89±0.02ms 
                  10      1.87±0.03ms    4.25±0.1ms 
             =========== ============= =============

[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                240M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward               72.7±1ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         72.0±0.6ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          205±0.8ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               249M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            302±1ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            328±4ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            320±2ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          317±0.6ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            325±1ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           92.9±1ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            638±2ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         70.6±0.2ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      49.7±0.5ms   96.3±1ms 
                 3      69.0±0.4ms   136±1ms  
                 10      93.1±1ms    189±2ms  
             ========= ============ ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.26±0.4ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.58±0.03ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         61.4±0.2ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.58±0.03ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         27.7±0.5ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.60±0.03ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            273±5ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            275±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