Skip to content

chore(deps): Update ruff requirement from >=0.16.4 to >=0.16.5 - #325

Closed
dependabot[bot] wants to merge 1 commit into
devfrom
dependabot/pip/dev/ruff-gte-0.16.5
Closed

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

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updates the requirements on ruff to permit the latest version.

Release notes

Sourced from ruff's releases.

0.16.5

Release Notes

Released on 2026-08-27.

Preview features

  • Allow rules without codes (#28049)
  • Introduce category selectors (#27666)
  • Update preview default rules and categories (#27877)

Bug fixes

  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#28000)

Server

  • Fix duplicated "of" in ClientOptions doc comment (#27978)

Documentation

  • Document rule acceptance guidelines (#27910)
  • Document the new category selectors (#27906)

Contributors

Install ruff 0.16.5

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.5/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.16.5/ruff-installer.ps1 | iex"

Download ruff 0.16.5

... (truncated)

Changelog

Sourced from ruff's changelog.

0.16.5

Released on 2026-08-27.

Preview features

  • Allow rules without codes (#28049)
  • Introduce category selectors (#27666)
  • Update preview default rules and categories (#27877)

Bug fixes

  • [flake8-async] Detect blocking generic HTTP requests (ASYNC210) (#28024)
  • [flake8-datetimez] Allow timezone-safe strptime chains (DTZ007) (#28023)
  • [flake8-simplify] Respect side effects in lambda defaults (SIM401) (#28000)

Server

  • Fix duplicated "of" in ClientOptions doc comment (#27978)

Documentation

  • Document rule acceptance guidelines (#27910)
  • Document the new category selectors (#27906)

Contributors

0.16.4

Released on 2026-08-20.

Preview features

  • [flake8-use-pathlib] Add autofix for PTH116 (#26460)
  • [refurb] Restrict delete-full-slice to lists (FURB131) (#27711)
  • [refurb] Skip FURB101 and FURB103 when the open argument is a file descriptor (#27643)

Bug fixes

  • Fix InvalidInstruction on Windows CPUs that do not support POPCNT (#27803)
  • [pyflakes] Emit semantic syntax errors in string type definitions as F722 (#27835)
  • [pylint] Allow os._exit imports in import-private-name (PLC2701) (#27738)

... (truncated)

Commits

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


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

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

Updates the requirements on [ruff](https://github.com/astral-sh/ruff) to permit the latest version.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.16.4...0.16.5)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.5
  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 7, 2026
@github-actions

github-actions Bot commented Sep 7, 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.90  bench_backtest.LagPrepBottlenecks.time_apply_lags_pooled

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

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 f68b5435 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--)............
[16.04%] ··· Running (bench_backtest.WalkforwardCold.time_cold_walkforward--).........
[20.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--)..........
[25.00%] · For pybroker commit f68b5435 (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--)...........
[40.57%] ··· Running (bench_backtest.Walkforward.time_walkforward--)..........
[45.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--)..........
[50.00%] · For pybroker commit f68b5435 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.14
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         59.9±0.8ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          571±100μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  15.7±0.7μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.35±0.2μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        7.29±0.09ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           14.3±0.2ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           15.7±0.3ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            6.69±0.3μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           20.4±0.6μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            8.15±0.8μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      10.4±0.2ms 
                 200      24.9±0.1ms 
                 500       57.4±1ms  
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== ============
              length              
             -------- ------------
               1000    4.41±0.1μs 
              100000    433±3μs   
             ======== ============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    3.99±0.01μs 
              100000     972±30μs  
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    3.90±0.04μs 
              100000     967±6μs   
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    1.40±0.02μs 
              100000     64.2±1μs  
             ======== =============

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

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    2.68±0.06μs 
              100000     464±3μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      66.4±4ms 
                 200      160±8ms  
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      5.04±0.05ms   11.2±0.3ms 
                 200       20.1±0.5ms    46.3±2ms  
                 500        51.8±1ms     117±2ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         3.42±0.6ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           657±30μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store          663±100μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         34.5±0.6μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        359±5ms  
                    True        219±10ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        1.74±0.01ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        1.64±0.01ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        2.37±0.04ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           44.9±1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         609±6μs     1.31±0.02ms 
                  10      1.16±0.02ms   3.01±0.04ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                262M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             39.2±0.6ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         40.6±0.7ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          124±0.5ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               270M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          189±0.9ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          210±0.7ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            215±3ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            209±1ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            210±2ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         50.9±0.4ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar           351±10ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         37.6±0.4ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      26.7±0.2ms   53.7±3ms 
                 3      37.4±0.9ms   82.7±3ms 
                 10      50.3±1ms    105±5ms  
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        1.42±0.01ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        2.99±0.05ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         35.0±0.3ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read            766±20μs
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write          41.9±50ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape           807±20μs
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            156±2ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          156±0.9ms
[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           57.0±1ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          366±200μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                    16.0±1μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.20±0.6μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        6.83±0.04ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           13.8±0.2ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          15.4±0.01ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            6.48±0.1μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             20.9±1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            8.44±0.6μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      10.6±0.1ms 
                 200      25.7±0.3ms 
                 500      57.1±0.6ms 
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    4.15±0.02μs 
              100000     433±3μs   
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    3.90±0.01μs 
              100000     958±10μs  
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    4.06±0.02μs 
              100000     991±30μs  
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    1.42±0.01μs 
              100000    63.8±0.5μs 
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000    8.51±0.05μs 
              100000   2.12±0.02ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    2.64±0.01μs 
              100000     470±3μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      70.4±4ms 
                 200      163±7ms  
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      5.22±0.06ms   10.9±0.2ms 
                 200       19.7±0.2ms   44.6±0.4ms 
                 500        53.1±1ms     117±2ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         3.81±0.8ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           613±20μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           611±30μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         33.6±0.4μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        352±5ms  
                    True        196±20ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        1.75±0.04ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        1.58±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        2.34±0.05ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         44.1±0.7ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         572±10μs    1.26±0.03ms 
                  10      1.16±0.03ms   3.00±0.03ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                262M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             38.5±0.8ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         38.9±0.6ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals            124±2ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               270M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          190±0.8ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models          209±0.7ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            207±2ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            208±4ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            209±2ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           52.0±1ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            344±4ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           36.8±2ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      26.9±0.4ms   54.6±3ms 
                 3      37.7±0.9ms   83.7±3ms 
                 10     50.6±0.8ms   105±5ms  
             ========= ============ ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        1.46±0.01ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        2.96±0.01ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         34.1±0.3ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read            760±20μs
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write          44.6±40ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape            800±7μs
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            154±3ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            156±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 Sep 7, 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:


Moved, but not blocking (under 1.25x, or under the 10ms floor where this runner's noise exceeds the factor):
   1.11  bench_backtest.IndicatorKernels.time_lowv(1000)  (baseline 7.882us)

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 f68b5435 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--)......
[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 f68b5435 (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--)......
[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 f68b5435 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.12
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         84.1±0.6ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           439±30μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  21.1±0.4μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.58±0.1μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.5±0.06ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           21.4±0.2ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          24.3±0.07ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            8.05±0.4μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           28.1±0.4μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            12.4±0.3μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      18.1±0.07ms 
                 200      43.8±0.08ms 
                 500       97.3±0.2ms 
             =========== =============

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

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000      8.61±1μs  
              100000   1.83±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000     8.75±0.6μs 
              100000   1.96±0.08ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.34±0.08μs 
              100000     262±5μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000     17.8±0.8μs 
              100000   4.42±0.06ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.75±0.07μs 
              100000     817±5μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      134±4ms  
                 200      301±30ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= =============
             --                  n_indicators       
             ----------- ---------------------------
              n_symbols        1             5      
             =========== ============= =============
                  50      8.79±0.05ms   19.3±0.06ms 
                 200       34.2±0.2ms    76.2±0.4ms 
                 500       88.2±0.5ms    197±0.7ms  
             =========== ============= =============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.23±0.2ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.00±0.01ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store            976±3μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         43.8±0.8μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        677±7ms  
                    True        353±20ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.02±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.74±0.02ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.93±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         67.2±0.1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         981±9μs     2.10±0.01ms 
                  10      2.01±0.01ms   4.94±0.02ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             60.0±0.4ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         61.2±0.4ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          182±0.6ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               253M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            259±3ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          311±0.5ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models          307±0.6ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached          308±0.8ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          312±0.9ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         77.8±0.1ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            568±2ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         58.2±0.2ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============= ============
             --                 symbols          
             --------- --------------------------
              windows        4            12     
             ========= ============= ============
                 1      41.2±0.09ms   81.3±0.3ms 
                 3       57.8±0.5ms   114±0.08ms 
                 10      76.8±0.1ms   154±0.9ms  
             ========= ============= ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.30±0.3ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.02±0.01ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         59.9±0.1ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.52±0.04ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write           28.1±5ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.46±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          236±0.9ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            236±3ms
[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         84.7±0.1ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           454±10μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                    21.4±2μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            2.66±0.08μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.5±0.03ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.1±0.03ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          24.2±0.03ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            7.69±0.2μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           27.7±0.2μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            12.1±0.1μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      18.3±0.07ms 
                 200      44.2±0.05ms 
                 500       98.0±0.3ms 
             =========== =============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000     7.13±0.2μs 
              100000   1.31±0.01ms 
             ======== =============

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000      8.80±1μs  
              100000   1.82±0.01ms 
             ======== =============

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000     7.88±0.6μs 
              100000   1.90±0.02ms 
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== ============
              length              
             -------- ------------
               1000    2.39±0.1μs 
              100000    261±3μs   
             ======== ============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000     17.4±0.7μs 
              100000   4.42±0.06ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== ============
              length              
             -------- ------------
               1000    4.87±0.1μs 
              100000    821±4μs   
             ======== ============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      129±8ms  
                 200      299±30ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= =============
             --                  n_indicators       
             ----------- ---------------------------
              n_symbols        1             5      
             =========== ============= =============
                  50      8.89±0.04ms   19.3±0.07ms 
                 200      34.4±0.04ms    77.2±0.7ms 
                 500       88.5±0.1ms    195±0.3ms  
             =========== ============= =============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.50±0.6ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           983±10μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store            987±5μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         44.3±0.8μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        677±5ms  
                    True        348±20ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.97±0.01ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.75±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.93±0.02ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         67.0±0.5ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         976±8μs     2.09±0.01ms 
                  10      2.01±0.01ms   4.92±0.01ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             60.7±0.2ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         60.4±0.3ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          183±0.3ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               252M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          258±0.4ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            313±2ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            315±7ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            309±2ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          311±0.7ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         78.6±0.2ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            579±7ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         58.1±0.4ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      41.2±0.2ms   79.8±0.5ms 
                 3      57.7±0.1ms   113±0.6ms  
                 10     77.3±0.4ms   153±0.7ms  
             ========= ============ ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large         2.31±0.3ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        4.98±0.04ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         59.7±0.4ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.45±0.03ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write           30.6±5ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.45±0.02ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            234±1ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            238±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 Sep 7, 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:


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 f68b5435 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 f68b5435 (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 f68b5435 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.11
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop           99.7±1ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get            373±5μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  29.3±0.3μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.78±0.2μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.8±0.04ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.1±0.07ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           23.6±0.4ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.2±0.2μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           26.9±0.7μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            16.2±0.2μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      18.6±0.07ms 
                 200       39.2±0.2ms 
                 500       84.6±0.8ms 
             =========== =============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000     7.84±0.1μs 
              100000   1.57±0.02ms 
             ======== =============

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

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

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== ============
              length              
             -------- ------------
               1000    2.91±0.1μs 
              100000    327±2μs   
             ======== ============

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

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.20±0.06μs 
              100000     905±5μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      132±7ms  
                 200      313±20ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      8.95±0.05ms   23.0±0.2ms 
                 200       33.8±0.2ms   88.8±0.7ms 
                 500       86.7±0.8ms   226±0.8ms  
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled        5.69±0.03ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           788±10μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           921±80μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         61.1±0.6μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        798±1ms  
                    True        443±20ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.29±0.01ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.84±0.01ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.00±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           75.3±1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         985±7μs     1.83±0.02ms 
                  10      1.83±0.02ms   4.05±0.01ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             68.6±0.2ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         69.1±0.3ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            200±1ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            294±1ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          314±0.9ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models          312±0.7ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached          312±0.8ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          318±0.6ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         86.7±0.2ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            627±2ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         66.8±0.3ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      47.3±0.3ms   91.0±0.5ms 
                 3      66.5±0.3ms   130±0.2ms  
                 10     88.1±0.4ms    181±1ms   
             ========= ============ ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.08±0.01ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.60±0.09ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize        60.0±0.07ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.38±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         25.7±0.2ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.54±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            265±3ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          267±0.7ms
[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.6±1ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           383±10μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  29.9±0.4μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.95±0.4μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.8±0.04ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.1±0.03ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.2±0.03ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.1±0.2μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             27.3±2μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            16.4±0.2μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      18.4±0.1ms 
                 200      39.4±0.2ms 
                 500      85.5±0.2ms 
             =========== ============

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

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

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.95±0.05μs 
              100000     330±7μs   
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.2±0.03μs 
              100000   3.94±0.01ms 
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.11±0.03μs 
              100000     907±9μs   
             ======== =============

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

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      8.97±0.04ms   22.8±0.2ms 
                 200       33.3±0.2ms   88.6±0.5ms 
                 500       86.7±0.5ms    226±1ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.74±0.4ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           786±20μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           915±10μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         61.4±0.4μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        798±2ms  
                    True        462±20ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.37±0.05ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.86±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.95±0.03ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         75.1±0.4ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         994±8μs     1.85±0.02ms 
                  10      1.81±0.01ms   4.12±0.05ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             68.7±0.2ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         69.0±0.3ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          201±0.8ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          294±0.1ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models          318±0.9ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          313±0.9ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          312±0.4ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          319±0.4ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         86.8±0.1ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            630±1ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         66.7±0.2ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============= ============
             --                 symbols          
             --------- --------------------------
              windows        4            12     
             ========= ============= ============
                 1      47.1±0.09ms   91.0±0.3ms 
                 3       65.9±0.5ms   130±0.7ms  
                 10      88.3±0.9ms    180±1ms   
             ========= ============= ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.08±0.02ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.47±0.09ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         59.8±0.2ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.40±0.02ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         25.8±0.1ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.54±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          265±0.7ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          266±0.8ms

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 Sep 7, 2026

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:


Moved, but not blocking (under 1.25x, or under the 10ms floor where this runner's noise exceeds the factor):
   1.21  bench_backtest.CacheDiskHit.time_cache_disk_get  (baseline 536.919us) [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 f68b5435 into virtualenv-py3.13
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.13
[ 0.00%] ·· Benchmarking virtualenv-py3.13
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)......
[12.26%] ··· Running (bench_backtest.ModelTrainPrep.time_train_models_per_symbol--)..........
[17.92%] ··· Running (bench_backtest.WalkforwardModels.time_walkforward_models--)......
[20.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--).........
[25.00%] ··· Running (bench_slippage.WalkforwardVolumeSlippage.time_walkforward_volume_slippage--).
[25.00%] · For pybroker commit f68b5435 (round 1/2):
[25.00%] ·· Building for virtualenv-py3.13
[25.00%] ·· Benchmarking virtualenv-py3.13
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--).....
[36.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--).....
[39.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--).......
[43.40%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models--).....
[45.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--).........
[50.00%] ··· Running (bench_slippage.WalkforwardVolumeSlippage.time_walkforward_volume_slippage--).
[50.00%] · For pybroker commit f68b5435 (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.13
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         99.9±0.4ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          651±100μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                    34.2±3μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.57±0.3μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.9±0.05ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.0±0.04ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.02ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.3±0.2μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           27.6±0.9μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            16.2±0.3μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      21.4±0.09ms 
                 200       47.2±0.3ms 
                 500       103±0.6ms  
             =========== =============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000    8.06±0.04μs 
              100000     690±10μs  
             ======== =============

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

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

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    3.02±0.09μs 
              100000    109±0.9μs  
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000     14.2±0.1μs 
              100000   3.00±0.05ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.21±0.08μs 
              100000     678±5μs   
             ======== =============

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

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.4±0.03ms   26.1±0.2ms 
                 200       40.8±0.6ms   100±0.8ms  
                 500       103±0.5ms     257±1ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.52±1ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.01±0.02ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           985±20μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         62.2±0.6μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        851±3ms 
                    True        459±3ms 
             ================= =========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.75±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.29±0.05ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.40±0.03ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           90.0±2ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.17±0.01ms   2.34±0.02ms 
                  10      2.23±0.01ms    5.32±0.1ms 
             =========== ============= =============

[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                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward               77.0±1ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         77.5±0.4ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            235±1ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               256M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            384±4ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          414±0.5ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            409±2ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            409±2ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            413±2ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         93.3±0.9ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            750±1ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         74.2±0.2ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ===========
             --                symbols         
             --------- ------------------------
              windows       4            12    
             ========= ============ ===========
                 1      52.7±0.3ms   102±0.5ms 
                 3      75.4±0.9ms    157±10ms 
                 10     97.9±0.8ms    202±20ms 
             ========= ============ ===========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.32±0.04ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        6.19±0.03ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         72.9±0.4ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.45±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         28.1±0.2ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.70±0.02ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            299±2ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            298±2ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.13
[75.00%] ·· Benchmarking virtualenv-py3.13
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          100±0.4ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          537±100μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                    33.0±1μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.44±0.3μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.8±0.01ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          20.8±0.03ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.03ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.3±0.8μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           28.9±0.5μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            16.6±0.3μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      21.5±0.2ms 
                 200      47.3±0.3ms 
                 500      104±0.4ms  
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    7.93±0.06μs 
              100000     696±10μs  
             ======== =============

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

[82.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[82.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.68±0.04μs 
              100000   1.39±0.01ms 
             ======== =============

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.87±0.04μs 
              100000     108±1μs   
             ======== =============

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

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.27±0.03μs 
              100000     677±2μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      134±3ms  
                 200      338±20ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.5±0.09ms   25.4±0.2ms 
                 200       40.1±0.2ms   100±0.4ms  
                 500       105±0.6ms     253±2ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.49±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           994±30μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           964±30μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         62.3±0.4μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        847±2ms 
                    True        458±4ms 
             ================= =========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.76±0.04ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.26±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.40±0.02ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         90.3±0.6ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.19±0.01ms   2.32±0.02ms 
                  10      2.21±0.02ms   5.26±0.05ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward               79.9±2ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward           79.6±1ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          238±0.4ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            386±3ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models          416±0.6ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            409±1ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            409±2ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            414±1ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           93.3±1ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            752±1ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         74.8±0.5ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ===========
             --                symbols         
             --------- ------------------------
              windows       4            12    
             ========= ============ ===========
                 1      52.6±0.2ms   102±0.6ms 
                 3       74.3±1ms     160±10ms 
                 10     98.6±0.8ms    199±20ms 
             ========= ============ ===========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.32±0.06ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        6.21±0.03ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         72.6±0.5ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.48±0.04ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         28.1±0.3ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.71±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            300±2ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          299±0.8ms

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.

@dependabot @github

dependabot Bot commented on behalf of github Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #329.

@dependabot dependabot Bot closed this Sep 14, 2026
@dependabot
dependabot Bot deleted the dependabot/pip/dev/ruff-gte-0.16.5 branch September 14, 2026 16:20
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