Skip to content

chore(deps): Update ruff requirement from >=0.16.4 to >=0.16.7 - #332

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

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

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 21, 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.7

Release Notes

Released on 2026-09-10.

Preview features

  • [ruff] Add rule for default values on method receivers (RUF077) (#26700)
  • [ruff] Recognize re.prefixmatch (RUF039, RUF055) (#28311)

Bug fixes

  • Alternate nested quotes inside format spec interpolations (#28259)
  • [flake8-implicit-str-concat] Mark fix unsafe when it creates a docstring (ISC003) (#27981)
  • [flake8-tidy-imports] Skip fixes for multi-member imports (TID254) (#26584)
  • [pylint] Gate ImportCycleError on Python 3.15 (PLW0133) (#28310)

Rule changes

  • Correct D211 and D203 rule conflict diagnostic (#28444)
  • Recognize slice and frozendict generics (#28477)
  • Stop defining __cached__ for Python 3.15 (#28476)
  • [pyupgrade] Stop recommending removed typing.no_type_check_decorator (UP035) (#28475)

Performance

  • Reuse parser name lookups when interning (#28399)
  • Speed up inherited configuration resolution (#28299)

Documentation

  • Fix line-length path in --config example (#28392)
  • Remove the "Who’s Using Ruff?" list (#28455)

Other changes

  • Embed archive checksums in the shell installer (#28281)

Contributors

... (truncated)

Changelog

Sourced from ruff's changelog.

0.16.7

Released on 2026-09-10.

Preview features

  • [ruff] Add rule for default values on method receivers (RUF077) (#26700)
  • [ruff] Recognize re.prefixmatch (RUF039, RUF055) (#28311)

Bug fixes

  • Alternate nested quotes inside format spec interpolations (#28259)
  • [flake8-implicit-str-concat] Mark fix unsafe when it creates a docstring (ISC003) (#27981)
  • [flake8-tidy-imports] Skip fixes for multi-member imports (TID254) (#26584)
  • [pylint] Gate ImportCycleError on Python 3.15 (PLW0133) (#28310)

Rule changes

  • Correct D211 and D203 rule conflict diagnostic (#28444)
  • Recognize slice and frozendict generics (#28477)
  • Stop defining __cached__ for Python 3.15 (#28476)
  • [pyupgrade] Stop recommending removed typing.no_type_check_decorator (UP035) (#28475)

Performance

  • Reuse parser name lookups when interning (#28399)
  • Speed up inherited configuration resolution (#28299)

Documentation

  • Fix line-length path in --config example (#28392)
  • Remove the "Who’s Using Ruff?" list (#28455)

Other changes

  • Embed archive checksums in the shell installer (#28281)

Contributors

... (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.7)

---
updated-dependencies:
- dependency-name: ruff
  dependency-version: 0.16.7
  dependency-type: direct:production
...

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

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.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.89  bench_backtest.CacheDiskHit.time_cache_disk_get
   0.74  bench_data.DataSourceCacheWrite.time_cache_write

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 f540019e 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 f540019e (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 f540019e (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.12
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         77.1±0.4ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           415±40μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  21.5±0.4μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.84±0.3μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        9.23±0.07ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          18.0±0.04ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          19.8±0.02ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            9.65±0.3μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           27.5±0.7μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            17.1±0.4μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      16.1±0.2ms 
                 200      39.0±0.4ms 
                 500      85.5±0.4ms 
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000    5.35±0.03μs 
              100000   1.27±0.01ms 
             ======== =============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    5.29±0.04μs 
              100000   1.40±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    5.34±0.06μs 
              100000   1.40±0.01ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.19±0.04μs 
              100000     276±6μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000    11.6±0.05μs 
              100000   3.41±0.02ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    3.77±0.02μs 
              100000     770±8μs   
             ======== =============

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

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      7.62±0.04ms   15.9±0.2ms 
                 200       29.9±0.4ms   64.3±0.4ms 
                 500       75.9±0.3ms   161±0.7ms  
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.11±0.3ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           923±30μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           827±10μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         40.9±0.5μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        610±3ms  
                    True        360±20ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.58±0.03ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.33±0.01ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.38±0.04ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         54.8±0.4ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         877±4μs     1.80±0.02ms 
                  10      1.75±0.02ms   4.43±0.04ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             50.9±0.4ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         50.0±0.2ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          154±0.5ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            212±1ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          272±0.4ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            272±4ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            268±1ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          273±0.5ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         68.4±0.6ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            501±2ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         47.5±0.5ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      34.3±0.2ms   68.2±0.4ms 
                 3      48.4±0.5ms   96.2±0.5ms 
                 10      63.2±1ms     134±2ms   
             ========= ============ ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.06±0.04ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        4.25±0.05ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         46.6±0.3ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.21±0.05ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write           28.2±3ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.17±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          197±0.9ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          199±0.8ms
[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         77.5±0.3ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           468±20μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  22.1±0.4μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.00±0.7μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         9.29±0.1ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          18.0±0.07ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          19.8±0.03ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            10.1±0.3μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           28.2±0.5μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            17.3±0.6μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      15.7±0.09ms 
                 200       38.5±0.3ms 
                 500       86.0±0.8ms 
             =========== =============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    5.29±0.03μs 
              100000   1.27±0.02ms 
             ======== =============

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

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== ============
              length              
             -------- ------------
               1000    2.22±0.1μs 
              100000    274±4μs   
             ======== ============

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

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    3.81±0.05μs 
              100000     766±6μs   
             ======== =============

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

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      7.44±0.1ms   15.8±0.1ms 
                 200      30.1±0.6ms   63.4±0.5ms 
                 500      75.0±0.7ms    161±2ms   
             =========== ============ ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.40±0.2ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           904±20μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           806±20μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         40.4±0.8μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        608±3ms  
                    True        356±10ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.54±0.01ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.31±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.30±0.01ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         53.6±0.7ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         848±10μs    1.77±0.02ms 
                  10      1.80±0.04ms   4.45±0.06ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             50.5±0.3ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         50.4±0.9ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          154±0.9ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          212±0.7ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            272±2ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            268±2ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            269±1ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          274±0.3ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         67.7±0.6ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            505±1ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           47.7±1ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      33.3±0.6ms   66.5±0.3ms 
                 3      47.2±0.7ms    94.3±1ms  
                 10     62.8±0.6ms    129±2ms   
             ========= ============ ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.02±0.02ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        4.15±0.02ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         47.3±0.9ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.20±0.02ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write           38.1±3ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.18±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            198±2ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            197±1ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

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

@github-actions

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.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 f540019e 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 f540019e (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.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--)......
[39.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)........
[44.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--).....
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit f540019e (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.11
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         99.4±0.5ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           476±20μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  29.4±0.4μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.18±0.2μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.8±0.06ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.2±0.02ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.1±0.03ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown              13.0±1μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             31.3±1μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            19.1±0.7μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      19.3±0.3ms 
                 200      40.5±0.5ms 
                 500      86.8±0.3ms 
             =========== ============

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

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

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

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

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

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.23±0.07μs 
              100000     904±4μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      141±5ms  
                 200      327±50ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      9.30±0.08ms   23.6±0.2ms 
                 200       34.7±0.4ms   93.5±0.8ms 
                 500       87.8±0.5ms    235±3ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled        5.93±0.08ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled            807±9μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           932±30μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         61.4±0.9μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        816±3ms  
                    True        461±20ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.37±0.04ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.90±0.02ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.98±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         78.6±0.8ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         1.00±0ms    1.91±0.03ms 
                  10      1.85±0.03ms   4.13±0.01ms 
             =========== ============= =============

[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                246M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             71.0±0.4ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         71.3±0.7ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          205±0.6ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               254M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            297±2ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            325±1ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            318±1ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            320±1ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            327±1ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         88.9±0.4ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            634±1ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         68.2±0.6ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      49.1±0.3ms   93.9±0.4ms 
                 3      67.4±0.4ms   135±0.5ms  
                 10     91.8±0.7ms    188±1ms   
             ========= ============ ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.20±0.02ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.70±0.06ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         60.7±0.4ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.49±0.07ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.7±0.3ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.57±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            272±4ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          275±0.5ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.11
[75.00%] ·· Benchmarking virtualenv-py3.11
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop            100±2ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           457±20μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  30.0±0.4μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.99±0.3μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.0±0.09ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.1±0.03ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          23.2±0.02ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.7±0.7μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor           29.4±0.9μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.0±0.8μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      19.3±0.2ms 
                 200      40.9±0.2ms 
                 500      86.3±0.9ms 
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000     8.09±0.2μs 
              100000   1.61±0.03ms 
             ======== =============

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

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.85±0.06μs 
              100000     343±5μs   
             ======== =============

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

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

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

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      9.14±0.08ms   23.6±0.3ms 
                 200       34.9±0.4ms   92.9±0.6ms 
                 500       88.8±0.8ms    233±1ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.98±0.3ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled            818±8μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           944±80μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           60.9±2μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        818±5ms  
                    True        462±30ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.34±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.87±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.00±0.05ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           79.9±1ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.01±0.01ms   1.89±0.02ms 
                  10      1.86±0.03ms   4.17±0.04ms 
             =========== ============= =============

[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                246M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward               70.8±1ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         71.9±0.7ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals            206±1ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               254M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            299±2ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            325±2ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          323±0.5ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            320±1ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            329±2ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         89.2±0.5ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            636±3ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         68.8±0.3ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      49.3±0.6ms   93.3±0.5ms 
                 3      68.1±0.3ms   133±0.7ms  
                 10     91.6±0.5ms   187±0.9ms  
             ========= ============ ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.15±0.03ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.56±0.02ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         61.1±0.2ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.51±0.05ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.8±0.2ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.56±0.02ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            273±1ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            271±1ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

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

@github-actions

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.14)

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

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

Faster (never blocks):
   0.90  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.82  bench_backtest.CacheDiskHit.time_cache_disk_get  (baseline 481.676us) [I/O-bound, never blocks]
   1.11  bench_backtest.LagPrepBottlenecks.time_apply_lags_pooled  (baseline 5.76568ms)

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 f540019e into virtualenv-py3.14
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.14
[ 0.00%] ·· Benchmarking virtualenv-py3.14
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)....
[11.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[14.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--)........
[18.87%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models_cached--)......
[21.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[25.00%] · For pybroker commit f540019e (round 1/2):
[25.00%] ·· Building for virtualenv-py3.14
[25.00%] ·· Benchmarking virtualenv-py3.14
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)......
[37.26%] ··· Running (bench_backtest.ModelTrainPrep.time_train_models_per_symbol--)..........
[42.92%] ··· Running (bench_backtest.WalkforwardModels.time_walkforward_models--)......
[45.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--).........
[50.00%] ··· Running (bench_slippage.WalkforwardVolumeSlippage.time_walkforward_volume_slippage--).
[50.00%] · For pybroker commit f540019e (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.14
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          108±0.3ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          877±200μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  29.0±0.4μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.10±0.1μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.8±0.06ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           23.2±0.2ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.4±0.02ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.3±0.4μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             34.9±1μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.8±0.8μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      19.5±0.05ms 
                 200       46.0±0.1ms 
                 500       102±0.5ms  
             =========== =============

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

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

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

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

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

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.50±0.05μs 
              100000     747±2μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      111±2ms  
                 200      291±50ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      9.23±0.2ms   19.2±0.1ms 
                 200      35.0±0.4ms   76.9±0.5ms 
                 500       90.9±1ms     194±2ms   
             =========== ============ ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           6.37±1ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.08±0.01ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store            987±8μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           68.3±2μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        725±2ms  
                    True        416±20ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.36±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.13±0.02ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.28±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         76.1±0.4ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.10±0.01ms   2.32±0.04ms 
                  10      2.20±0.04ms   5.35±0.07ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                260M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             66.7±0.6ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         67.0±0.2ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          214±0.4ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            336±4ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            385±2ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            380±1ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached          381±0.5ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            386±5ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         95.1±0.5ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            676±4ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         64.2±0.4ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      45.5±0.2ms   98.1±7ms 
                 3      64.5±0.6ms   145±10ms 
                 10     86.8±0.7ms   182±10ms 
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.50±0.02ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.68±0.03ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         66.3±0.6ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.40±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         27.2±0.5ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.55±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            274±1ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            273±2ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.14
[75.00%] ·· Benchmarking virtualenv-py3.14
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          110±0.4ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          482±200μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  29.2±0.6μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.43±0.3μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         11.9±0.1ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          23.2±0.08ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           25.5±0.1ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.8±0.4μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             35.6±1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            22.0±0.4μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.4±0.3ms 
                 200      46.9±0.4ms 
                 500      102±0.9ms  
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    6.79±0.04μs 
              100000     713±8μs   
             ======== =============

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

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.68±0.03μs 
              100000     117±1μs   
             ======== =============

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

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

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      122±4ms  
                 200      298±50ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      9.20±0.2ms   19.5±0.2ms 
                 200      36.4±0.7ms   78.8±0.6ms 
                 500      91.5±0.7ms    200±4ms   
             =========== ============ ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.77±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.13±0.03ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store         1.01±0.3ms
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           67.8±1μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        714±2ms  
                    True        435±30ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.38±0.03ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.16±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags         4.34±0.1ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         77.9±0.4ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.14±0.03ms   2.27±0.04ms 
                  10      2.25±0.05ms   5.32±0.06ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                260M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             67.9±0.4ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         66.8±0.1ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          216±0.7ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            332±3ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models          385±0.6ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          379±0.7ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            378±2ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          386±0.6ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         95.2±0.3ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            681±3ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         64.8±0.6ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      45.5±0.3ms   94.1±7ms 
                 3      65.3±0.7ms   143±8ms  
                 10      88.7±3ms    182±10ms 
             ========= ============ ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.51±0.01ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.68±0.03ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         65.5±0.1ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.40±0.01ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         27.5±0.2ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.56±0.02ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          273±0.9ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            272±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

Copy link
Copy Markdown

ASV continuous — benchmark diff (Python 3.13)

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

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

Faster (never blocks):
   0.69  bench_backtest.CacheDiskHit.time_cache_disk_get
   0.89  bench_backtest.EvalKernels.time_profit_factor

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 f540019e into virtualenv-py3.13
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.13
[ 0.00%] ·· Benchmarking virtualenv-py3.13
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)....
[11.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[14.15%] ··· Running (bench_backtest.StoreBuildKernels.time_symbol_array_store_from_frame--).......
[18.40%] ··· Running (bench_backtest.WalkforwardModelsCached.time_walkforward_models--).....
[20.75%] ··· Running (bench_backtest.WalkforwardProperCold.time_proper_cold_walkforward--).......
[24.06%] ··· Running (bench_data.YFinanceMultiSymbol.time_yfinance_reshape--)...
[25.00%] · For pybroker commit f540019e (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.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--)......
[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--).......
[49.06%] ··· Running (bench_data.YFinanceMultiSymbol.time_yfinance_reshape--)...
[50.00%] · For pybroker commit f540019e (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.13
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          103±0.6ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          465±100μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  33.8±0.3μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.06±0.7μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         11.4±0.1ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          21.0±0.06ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.05ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            13.1±0.4μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             29.2±2μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            19.7±0.4μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      22.1±0.2ms 
                 200      48.8±0.5ms 
                 500      105±0.8ms  
             =========== ============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== ============
              length              
             -------- ------------
               1000    8.04±0.2μs 
              100000    703±6μs   
             ======== ============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.63±0.04μs 
              100000   1.39±0.01ms 
             ======== =============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    6.75±0.06μs 
              100000     1.39±0ms  
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    3.09±0.08μs 
              100000     109±3μs   
             ======== =============

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

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

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

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      10.9±0.1ms   27.7±0.3ms 
                 200      41.9±0.5ms   106±0.6ms  
                 500       105±1ms      262±1ms   
             =========== ============ ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.56±0.4ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.02±0.02ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.00±0.01ms
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           65.2±3μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        880±3ms 
                    True        469±4ms 
             ================= =========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.85±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.37±0.03ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.54±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           93.3±1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.25±0.03ms   2.35±0.02ms 
                  10      2.25±0.03ms   5.32±0.08ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             82.6±0.6ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         80.6±0.7ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          242±0.4ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            394±2ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          420±0.6ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            419±3ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            415±1ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            427±4ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         96.6±0.6ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            769±5ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         78.7±0.4ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      54.9±0.5ms   106±2ms  
                 3       79.2±1ms    167±10ms 
                 10     102±0.3ms    204±20ms 
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.41±0.02ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        6.40±0.06ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         82.9±0.5ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.57±0.07ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         29.0±0.8ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.79±0.02ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            308±3ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            307±3ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.13
[75.00%] ·· Benchmarking virtualenv-py3.13
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          104±0.8ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          675±100μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                    35.1±1μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.08±0.2μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.1±0.09ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           21.3±0.4ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.04ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            13.3±0.4μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             32.6±1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.4±0.7μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      22.0±0.2ms 
                 200      49.2±0.2ms 
                 500       104±1ms   
             =========== ============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    8.08±0.07μs 
              100000     712±7μs   
             ======== =============

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

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    3.02±0.07μs 
              100000     109±2μs   
             ======== =============

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

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.31±0.02μs 
              100000     681±6μs   
             ======== =============

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

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============ ============
             --                 n_indicators      
             ----------- -------------------------
              n_symbols       1            5      
             =========== ============ ============
                  50      10.9±0.3ms   27.5±0.7ms 
                 200      42.8±0.2ms   106±0.7ms  
                 500       107±1ms      262±1ms   
             =========== ============ ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         5.77±0.8ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.02±0.03ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           978±20μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           63.5±1μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        874±2ms 
                    True        468±3ms 
             ================= =========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.84±0.04ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.31±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.63±0.09ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           93.0±1ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.22±0.03ms   2.35±0.03ms 
                  10      2.28±0.01ms   5.33±0.03ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                246M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward               80.6±1ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         79.6±0.7ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          242±0.9ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            392±1ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            423±3ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            420±5ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            417±3ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            422±2ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window           95.7±1ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            775±4ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           75.8±1ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ========== ==========
             --               symbols       
             --------- ---------------------
              windows      4          12    
             ========= ========== ==========
                 1      53.9±2ms   104±1ms  
                 3      80.4±3ms   162±10ms 
                 10     105±4ms    210±20ms 
             ========= ========== ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.40±0.07ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        6.35±0.05ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         83.3±0.6ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.49±0.02ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         28.9±0.6ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.77±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage            309±1ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          311±0.7ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

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

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