Skip to content

chore(deps): Update joblib requirement from >=1.5.3 to >=1.6.0 - #327

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

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

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updates the requirements on joblib to permit the latest version.

Changelog

Sourced from joblib's changelog.

Release 1.6.0 - 2026/08/31

  • Fix caching of functions whose source cannot be retrieved, such as functions defined in a notebook cell. Their identity fell back to str(hash(func.__code__)), which is salted by PYTHONHASHSEED and so differed between processes. A worker reading the func_code.py written by another one concluded that the function had changed and wiped the whole cache directory for it, discarding results computed by its peers. func_code.py is also no longer rewritten in place, so a reader can no longer catch it half-written and draw the same conclusion. joblib/joblib#1694

  • Drop python 3.9 support. The oldest supported Python version is now Python 3.10. joblib/joblib#1773

  • Fix eval_expr (used to evaluate the pre_dispatch argument of Parallel) to raise a ValueError as documented instead of leaking a ZeroDivisionError for expressions that divide or take a modulo by zero. joblib/joblib#1810

  • MemorizedResult now forwards mmap_mode to its store backend, so a cached array reconstructed from a location is memory-mapped as requested instead of being loaded fully into memory. joblib/joblib#1799

  • Unvendor cloudpickle to more quickly benefit from maintenance releases of cloudpickle joblib/joblib#1775

  • Fix Memory.cache for functions with a keyword-only argument that has a default declared before a keyword-only argument without a default. joblib/joblib#1731

  • Fix behavior of filter_args on some precise cases. joblib/joblib#1800

  • Fix a concurrency error that could happen with unordered generator. joblib/joblib#1789

  • Fix: dump() now accepts any input os.PathLike object to be consistent with load. joblib/joblib#1812

  • The documentation now uses pydata sphinx theme. Furthermore, optional dependencies test and docs have been added to pyproject.toml. joblib/joblib#1774

  • Vendor loky 3.6.0

... (truncated)

Commits
  • cd9a6b0 Release 1.6.0 (#1844)
  • d873f97 MNT vendor loky 3.6.0 (#1843)
  • 4ff61af Bump the github-actions group with 4 updates (#1832)
  • 804f472 FIX make func_code stable across processes when the source is unavailable (#1...
  • 65cc49d TST Restore RNG sequence in hash compatibility test (#1837)
  • c1b6541 CI Use pytest-run-parallel on free-threaded build (#1819)
  • f6b80d3 MNT Simplify isinstance check in hashing (#1835)
  • fa4d5af MNT remove python 3.9 from CI (#1773)
  • 53cea7b DOC Update release docs to reflect usage of trusted publishing (#1826)
  • 26500e9 Bump the github-actions group across 1 directory with 3 updates (#1790)
  • Additional commits viewable in compare view

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


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

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

Updates the requirements on [joblib](https://github.com/joblib/joblib) to permit the latest version.
- [Release notes](https://github.com/joblib/joblib/releases)
- [Changelog](https://github.com/joblib/joblib/blob/main/CHANGES.rst)
- [Commits](joblib/joblib@1.5.3...1.6.0)

---
updated-dependencies:
- dependency-name: joblib
  dependency-version: 1.6.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Sep 7, 2026
@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 fd217b8d 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 fd217b8d (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 fd217b8d (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.11
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         94.7±0.3ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get            423±7μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  25.6±0.3μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.98±0.2μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.7±0.03ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          23.2±0.05ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           25.6±0.1ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.0±0.4μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           33.2±0.2μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.9±0.7μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      17.2±0.1ms 
                 200      39.5±0.3ms 
                 500      87.7±0.8ms 
             =========== ============

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

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.53±0.07μs 
              100000   1.79±0.01ms 
             ======== =============

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

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.47±0.07μs 
              100000     338±3μs   
             ======== =============

[58.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[58.02%] ··· ======== =============
              length               
             -------- -------------
               1000     14.9±0.2μs 
              100000   4.37±0.01ms 
             ======== =============

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.27±0.03μs 
              100000     972±3μs   
             ======== =============

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

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= =============
             --                  n_indicators       
             ----------- ---------------------------
              n_symbols        1             5      
             =========== ============= =============
                  50      7.78±0.07ms   17.1±0.05ms 
                 200       29.6±0.4ms    68.5±0.3ms 
                 500       76.1±0.3ms    172±0.9ms  
             =========== ============= =============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         6.00±0.3ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           826±20μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           943±20μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         49.3±0.5μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        704±7ms  
                    True        397±30ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.85±0.04ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.56±0.02ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.71±0.02ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         61.9±0.2ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         902±10μs    1.76±0.01ms 
                  10      1.79±0.02ms    4.25±0.1ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward             57.3±0.2ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward        57.5±0.04ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          177±0.6ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               256M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            252±1ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          276±0.7ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            274±3ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached          272±0.2ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          277±0.6ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         81.7±0.2ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            540±1ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         55.2±0.2ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============= ============
             --                 symbols          
             --------- --------------------------
              windows        4            12     
             ========= ============= ============
                 1       39.5±0.2ms   79.5±0.6ms 
                 3       55.1±0.1ms   113±0.5ms  
                 10     73.2±0.08ms   154±0.3ms  
             ========= ============= ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large         1.93±0.3ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        4.64±0.01ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         50.0±0.2ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.35±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write        24.6±0.07ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.35±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            231±2ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          231±0.1ms
[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           95.4±1ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           445±30μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  26.2±0.3μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.01±0.2μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.7±0.01ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          23.4±0.04ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.7±0.02ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            12.2±0.4μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             34.5±1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio              21.7±2μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      17.2±0.1ms 
                 200      39.9±0.4ms 
                 500      86.9±0.6ms 
             =========== ============

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

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.56±0.02μs 
              100000   1.80±0.01ms 
             ======== =============

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.46±0.04μs 
              100000     337±2μs   
             ======== =============

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

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.25±0.02μs 
              100000     973±3μs   
             ======== =============

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

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============ =============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols       1             5      
             =========== ============ =============
                  50      7.85±0.1ms   17.2±0.08ms 
                 200      29.8±0.3ms    68.2±0.5ms 
                 500      78.0±0.8ms     173±3ms   
             =========== ============ =============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         6.00±0.5ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           855±20μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           968±10μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         49.5±0.2μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        703±5ms  
                    True        401±40ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        2.83±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.54±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        3.69±0.02ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         61.7±0.6ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4         910±8μs     1.76±0.02ms 
                  10      1.74±0.01ms   4.15±0.09ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             58.1±0.1ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         57.6±0.4ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          176±0.4ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               256M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            251±2ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            280±1ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models          274±0.6ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          273±0.4ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol          278±0.7ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         81.8±0.2ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            542±2ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         55.1±0.2ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ============
             --                 symbols         
             --------- -------------------------
              windows       4            12     
             ========= ============ ============
                 1      39.0±0.1ms   79.2±0.4ms 
                 3      54.2±0.2ms   113±0.4ms  
                 10     73.9±0.4ms   156±0.4ms  
             ========= ============ ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        1.92±0.02ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        4.65±0.02ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         50.2±0.2ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.38±0.04ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         24.9±0.2ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.35±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          231±0.5ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          232±0.6ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

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

@github-actions

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:


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 fd217b8d into virtualenv-py3.12
· Running 106 total benchmarks (2 commits * 1 environments * 53 benchmarks)
[ 0.00%] · For pybroker commit eb9d3400 (round 1/2):
[ 0.00%] ·· Building for virtualenv-py3.12
[ 0.00%] ·· Benchmarking virtualenv-py3.12
[ 0.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[ 6.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[ 9.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--).....
[11.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--)......
[14.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)........
[19.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--).....
[21.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[25.00%] · For pybroker commit fd217b8d (round 1/2):
[25.00%] ·· Building for virtualenv-py3.12
[25.00%] ·· Benchmarking virtualenv-py3.12
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--).....
[36.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--)......
[39.62%] ··· Running (bench_backtest.StoreSliceKernels.time_slice_symbol_array_store_by_dates--)........
[44.34%] ··· Running (bench_backtest.WalkforwardModelsPerSymbol.time_walkforward_models_per_symbol--).....
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit fd217b8d (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.12
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         98.1±0.5ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get            448±9μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  27.8±0.4μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.30±0.2μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap         12.0±0.3ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           23.3±0.9ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.4±0.03ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.6±0.2μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             33.8±1μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.8±0.4μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      19.9±0.2ms 
                 200      48.3±0.4ms 
                 500      109±0.6ms  
             =========== ============

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

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== =============
              length               
             -------- -------------
               1000    6.71±0.06μs 
              100000     1.80±0ms  
             ======== =============

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

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.66±0.08μs 
              100000     335±4μs   
             ======== =============

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

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.55±0.05μs 
              100000     988±4μs   
             ======== =============

[58.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[58.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      139±4ms  
                 200      341±10ms 
             =========== ==========

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      9.60±0.04ms   19.8±0.2ms 
                 200       37.1±0.4ms   79.2±0.8ms 
                 500        96.3±1ms     202±1ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.68±1ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.12±0.01ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.04±0.06ms
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         51.7±0.7μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        732±6ms  
                    True        454±30ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.27±0.03ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.02±0.05ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.29±0.03ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         68.5±0.3ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.12±0.01ms   2.32±0.09ms 
                  10      2.21±0.05ms   5.46±0.04ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward            62.5±0.09ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         63.4±0.2ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            198±2ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               254M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          269±0.5ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models          345±0.5ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models          339±0.9ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            340±1ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            346±2ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         86.7±0.2ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            645±4ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         59.9±0.3ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============= ============
             --                 symbols          
             --------- --------------------------
              windows        4            12     
             ========= ============= ============
                 1      42.6±0.08ms   86.2±0.1ms 
                 3       60.0±0.3ms   122±0.3ms  
                 10      80.3±0.3ms   166±0.4ms  
             ========= ============= ============

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.52±0.01ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.34±0.04ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         59.8±0.6ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.48±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.7±0.3ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.54±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            250±1ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            250±1ms
[75.00%] · For pybroker commit eb9d3400 (round 2/2):
[75.00%] ·· Building for virtualenv-py3.12
[75.00%] ·· Benchmarking virtualenv-py3.12
[75.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop         98.2±0.7ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           437±10μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  27.5±0.3μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get            3.09±0.05μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.7±0.02ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          23.1±0.09ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          25.5±0.06ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.7±0.2μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             33.9±1μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            21.4±0.9μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      19.8±0.05ms 
                 200       48.4±0.5ms 
                 500       108±0.6ms  
             =========== =============

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

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

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

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

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

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== ==========
              length            
             -------- ----------
               1000    4.71±2μs 
              100000   971±4μs  
             ======== ==========

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

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= =============
             --                  n_indicators       
             ----------- ---------------------------
              n_symbols        1             5      
             =========== ============= =============
                  50      9.65±0.08ms   19.5±0.06ms 
                 200       37.0±0.3ms    79.9±0.8ms 
                 500        95.0±1ms      202±1ms   
             =========== ============= =============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.83±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.12±0.01ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.03±0.01ms
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         51.0±0.5μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        731±3ms  
                    True        448±20ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.31±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        2.99±0.01ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.28±0.01ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         68.3±0.1ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.10±0.01ms   2.30±0.04ms 
                  10      2.25±0.01ms   5.46±0.05ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                245M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             62.7±0.4ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         62.9±0.1ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          198±0.2ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               253M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large          269±0.5ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            344±1ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            347±4ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          341±0.6ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            352±6ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         87.1±0.4ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            642±2ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         60.0±0.3ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============= ============
             --                 symbols          
             --------- --------------------------
              windows        4            12     
             ========= ============= ============
                 1      43.0±0.07ms   85.9±0.6ms 
                 3       60.2±0.2ms   121±0.2ms  
                 10      80.5±0.3ms   166±0.5ms  
             ========= ============= ============

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.52±0.01ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.35±0.02ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         59.2±0.1ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.48±0.03ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         26.8±0.2ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.54±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          250±0.9ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          251±0.4ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

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

@github-actions

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:

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

No benchmark at or above 10ms regressed by 1.25x or more (73 benchmarks compared).
Full benchmark output
· No executable found for python 3.11
· No executable found for python 3.14
· Creating environments
· Discovering benchmarks
·· Uninstalling from virtualenv-py3.13
·· Installing fd217b8d 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 fd217b8d (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--)......
[37.26%] ··· Running (bench_backtest.ModelTrainPrep.time_train_models_per_symbol--)...........
[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 fd217b8d (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.13
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop          101±0.3ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          450±100μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  28.5±0.2μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.78±0.1μs
[52.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[52.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.8±0.03ms
[53.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf          23.2±0.05ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           25.7±0.6ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.5±0.5μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor           33.3±0.4μs
[55.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.1±0.3μs
[55.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[55.66%] ··· =========== ============
              n_symbols              
             ----------- ------------
                  50      20.1±0.2ms 
                 200      48.1±0.2ms 
                 500      106±0.6ms  
             =========== ============

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

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

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

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.62±0.06μs 
              100000     114±1μs   
             ======== =============

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

[58.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[58.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.35±0.03μs 
              100000     747±5μs   
             ======== =============

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

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      9.46±0.08ms   19.8±0.1ms 
                 200       37.1±0.2ms   79.0±0.5ms 
                 500       93.3±0.7ms    198±2ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled         6.38±0.5ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.09±0.01ms
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.01±0.01ms
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         51.6±0.7μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        731±2ms  
                    True        439±20ms 
             ================= ==========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.30±0.02ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled           3.10±0ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.22±0.03ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           76.7±1ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.11±0.01ms   2.25±0.01ms 
                  10      2.14±0.04ms   5.41±0.07ms 
             =========== ============= =============

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

[65.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward               65.4±2ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         65.0±0.3ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals          212±0.5ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            344±2ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            384±1ms
[68.40%] ··· ...kforwardModelsCached.time_walkforward_models            379±2ms
[68.87%] ··· ...dModelsCached.time_walkforward_models_cached            379±4ms
[69.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            390±3ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         88.8±0.1ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            681±4ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         62.4±0.1ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      44.1±0.3ms   89.9±9ms 
                 3       62.1±1ms    140±10ms 
                 10     83.1±0.8ms   174±20ms 
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.50±0.01ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        5.36±0.05ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize         63.3±0.3ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.40±0.01ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write        26.2±0.09ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.54±0.01ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage          260±0.8ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage          261±0.5ms
[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          102±0.4ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get          508±100μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                  28.4±0.3μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             2.83±0.1μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        11.7±0.01ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           23.6±0.4ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           25.8±0.4ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            11.6±0.3μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             33.6±2μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            20.3±0.6μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      20.0±0.07ms 
                 200       48.9±0.9ms 
                 500        108±2ms   
             =========== =============

[81.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[81.13%] ··· ======== =============
              length               
             -------- -------------
               1000    6.65±0.06μs 
              100000     709±5μs   
             ======== =============

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

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    2.58±0.05μs 
              100000    114±0.2μs  
             ======== =============

[83.02%] ··· bench_backtest.IndicatorKernels.time_stochastic                 ok
[83.02%] ··· ======== =============
              length               
             -------- -------------
               1000    14.9±0.04μs 
              100000     3.37±0ms  
             ======== =============

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    4.43±0.05μs 
              100000     742±7μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      123±2ms  
                 200      303±40ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      9.63±0.07ms   20.2±0.1ms 
                 200       37.6±0.5ms   79.5±0.8ms 
                 500        94.7±1ms     201±2ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           6.26±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled        1.12±0.01ms
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store        1.00±0.02ms
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates         51.7±0.5μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= ==========
              parallel_models            
             ----------------- ----------
                   False        733±4ms  
                    True        430±30ms 
             ================= ==========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.30±0.02ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.07±0.05ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.29±0.02ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           76.7±2ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.11±0.02ms   2.28±0.05ms 
                  10      2.20±0.01ms   5.54±0.05ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                247M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward             66.0±0.6ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         65.3±0.3ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals          211±0.5ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               255M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            345±3ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            386±2ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            378±1ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached            384±4ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            382±1ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window         89.3±0.2ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            684±1ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward         61.9±0.4ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      44.3±0.2ms   90.7±9ms 
                 3      62.6±0.7ms   142±10ms 
                 10     84.0±0.7ms   180±20ms 
             ========= ============ ==========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.52±0.02ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        5.43±0.02ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         62.7±0.2ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.46±0.04ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         27.0±0.2ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.53±0.01ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          262±0.7ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            260±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

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:


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

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 fd217b8d 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.79%] ··· Running (bench_backtest.ModelTrainParallel.time_train_models_parallel--).....
[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 fd217b8d (round 1/2):
[25.00%] ·· Building for virtualenv-py3.14
[25.00%] ·· Benchmarking virtualenv-py3.14
[25.47%] ··· Running (bench_backtest.BacktestBarLoop.time_backtest_bar_loop--)...........
[31.13%] ··· Running (bench_backtest.IndicatorKernels.time_cross--).......
[34.43%] ··· Running (bench_backtest.IndicatorPreprocess.time_indicator_set_call--)....
[36.32%] ··· Running (bench_backtest.ModelPrepKernels.time_indicator_values_for_dates--).....
[38.68%] ··· Running (bench_backtest.PortfolioHeldStops.time_portfolio_held_stops--).......
[42.92%] ··· Running (bench_backtest.WalkforwardModels.time_walkforward_models--).....
[45.28%] ··· Running (bench_backtest.WalkforwardPerBar.time_walkforward_per_bar--)...
[46.70%] ··· Running (bench_common.IntervalCompression.time_compress_5m_large--)........
[50.00%] · For pybroker commit fd217b8d (round 2/2):
[50.00%] ·· Benchmarking virtualenv-py3.14
[50.47%] ··· ...ktest.BacktestBarLoop.time_backtest_bar_loop            111±3ms
[50.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           523±80μs
[51.42%] ··· bench_backtest.CacheHit.time_cache_get                  34.3±0.6μs
[51.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.55±0.3μ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.1ms
[53.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf          22.9±0.09ms
[54.25%] ··· bench_backtest.EvalKernels.time_max_drawdown            13.5±0.3μs
[54.72%] ··· bench_backtest.EvalKernels.time_profit_factor             32.4±1μ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.4±0.09ms 
                 200       47.1±0.8ms 
                 500       99.6±0.9ms 
             =========== =============

[56.13%] ··· bench_backtest.IndicatorKernels.time_cross                      ok
[56.13%] ··· ======== =============
              length               
             -------- -------------
               1000    8.32±0.08μs 
              100000     703±7μs   
             ======== =============

[56.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[56.60%] ··· ======== ============
              length              
             -------- ------------
               1000    7.36±0.1μs 
              100000    1.41±0ms  
             ======== ============

[57.08%] ··· bench_backtest.IndicatorKernels.time_lowv                       ok
[57.08%] ··· ======== =============
              length               
             -------- -------------
               1000    7.16±0.07μs 
              100000   1.44±0.01ms 
             ======== =============

[57.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[57.55%] ··· ======== ============
              length              
             -------- ------------
               1000    3.53±0.2μs 
              100000    114±4μs   
             ======== ============

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

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

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

[59.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[59.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.3±0.06ms   25.6±0.4ms 
                 200       39.2±0.5ms   102±0.6ms  
                 500       101±0.7ms     257±1ms   
             =========== ============= ============

[59.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           6.25±1ms
[60.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           981±20μs
[60.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           974±70μs
[61.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           79.5±3μs
[61.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[61.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        847±3ms 
                    True        448±9ms 
             ================= =========

[62.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.94±0.07ms
[62.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled         3.44±0.1ms
[63.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags         4.76±0.1ms
[63.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops           92.7±2ms
[64.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[64.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.24±0.03ms   2.33±0.03ms 
                  10      2.27±0.06ms   5.17±0.09ms 
             =========== ============= =============

[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                259M
[65.57%] ··· bench_backtest.Walkforward.time_walkforward               83.0±1ms
[66.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward           81.2±1ms
[66.51%] ··· ...kforwardIntervals.time_walkforward_intervals            242±2ms
[66.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[67.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            387±4ms
[67.92%] ··· ...st.WalkforwardModels.time_walkforward_models            415±1ms
[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            419±4ms
[69.81%] ··· ...ardMultiWindow.time_walkforward_multi_window            103±4ms
[70.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar           760±10ms
[70.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           79.3±1ms
[71.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[71.23%] ··· ========= ============ ==========
             --                symbols        
             --------- -----------------------
              windows       4           12    
             ========= ============ ==========
                 1      55.9±0.9ms   109±2ms  
                 3       81.4±3ms    164±7ms  
                 10      107±5ms     219±10ms 
             ========= ============ ==========

[71.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.33±0.07ms
[72.17%] ··· ...valCompression.time_compress_intervals_multi        6.52±0.06ms
[72.64%] ··· ...h_common.ResultQuantize.time_result_quantize           78.1±1ms
[73.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.49±0.03ms
[73.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         29.8±0.4ms
[74.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.78±0.05ms
[74.53%] ··· ...lippage.time_walkforward_volatility_slippage            314±4ms
[75.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            314±4ms
[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.6ms
[75.94%] ··· bench_backtest.CacheDiskHit.time_cache_disk_get           541±30μs
[76.42%] ··· bench_backtest.CacheHit.time_cache_get                    37.0±2μs
[76.89%] ··· bench_backtest.CacheL1Hit.time_cache_l1_get             3.51±0.4μs
[77.36%] ··· ...st.Determinism.track_walkforward_equity_hash         2106212405
[77.83%] ··· ...cktest.EvalBootstrap.time_evaluate_bootstrap        10.9±0.08ms
[78.30%] ··· bench_backtest.EvalKernels.time_bca_boot_conf           21.1±0.3ms
[78.77%] ··· bench_backtest.EvalKernels.time_drawdown_conf           23.4±0.4ms
[79.25%] ··· bench_backtest.EvalKernels.time_max_drawdown              12.8±1μs
[79.72%] ··· bench_backtest.EvalKernels.time_profit_factor             29.3±2μs
[80.19%] ··· bench_backtest.EvalKernels.time_sharpe_ratio            18.7±0.8μs
[80.66%] ··· ...rPreprocess.time_exit_on_last_bar_preprocess                 ok
[80.66%] ··· =========== =============
              n_symbols               
             ----------- -------------
                  50      21.4±0.06ms 
                 200       46.5±0.2ms 
                 500        98.7±2ms  
             =========== =============

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

[81.60%] ··· bench_backtest.IndicatorKernels.time_highv                      ok
[81.60%] ··· ======== ============
              length              
             -------- ------------
               1000    7.59±0.3μs 
              100000    1.42±0ms  
             ======== ============

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

[82.55%] ··· bench_backtest.IndicatorKernels.time_returnv                    ok
[82.55%] ··· ======== =============
              length               
             -------- -------------
               1000    3.30±0.07μs 
              100000     116±7μs   
             ======== =============

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

[83.49%] ··· bench_backtest.IndicatorKernels.time_sumv                       ok
[83.49%] ··· ======== =============
              length               
             -------- -------------
               1000    5.66±0.05μs 
              100000     681±4μs   
             ======== =============

[83.96%] ··· ...torParallel.time_indicator_set_call_parallel                 ok
[83.96%] ··· =========== ==========
             --          n_indicators
             ----------- ----------
              n_symbols      5     
             =========== ==========
                  50      136±7ms  
                 200      363±20ms 
             =========== ==========

[84.43%] ··· ....IndicatorPreprocess.time_indicator_set_call                 ok
[84.43%] ··· =========== ============= ============
             --                 n_indicators       
             ----------- --------------------------
              n_symbols        1            5      
             =========== ============= ============
                  50      10.3±0.06ms   25.5±0.2ms 
                 200       39.3±0.2ms   99.3±0.4ms 
                 500       100±0.9ms     254±3ms   
             =========== ============= ============

[84.91%] ··· ...st.LagPrepBottlenecks.time_apply_lags_pooled           5.85±1ms
[85.38%] ··· ...lenecks.time_build_lag_feature_matrix_pooled           974±10μs
[85.85%] ··· ...pBottlenecks.time_merge_lag_cache_from_store           917±90μs
[86.32%] ··· ...lPrepKernels.time_indicator_values_for_dates           80.1±9μs
[86.79%] ··· ...odelTrainParallel.time_train_models_parallel                 ok
[86.79%] ··· ================= =========
              parallel_models           
             ----------------- ---------
                   False        832±3ms 
                    True        455±5ms 
             ================= =========

[87.26%] ··· ....ModelTrainPrep.time_train_models_per_symbol        3.89±0.03ms
[87.74%] ··· ...test.ModelTrainPrep.time_train_models_pooled        3.37±0.02ms
[88.21%] ··· ...lTrainPrepLags.time_train_models_pooled_lags        4.52±0.02ms
[88.68%] ··· ...PortfolioHeldStops.time_portfolio_held_stops         91.2±0.6ms
[89.15%] ··· ...ldKernels.time_symbol_array_store_from_frame                 ok
[89.15%] ··· =========== ============= =============
             --                     n_days          
             ----------- ---------------------------
              n_symbols       504           1260    
             =========== ============= =============
                  4       1.18±0.02ms   2.29±0.05ms 
                  10      2.26±0.05ms   5.10±0.05ms 
             =========== ============= =============

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

[90.09%] ··· bench_backtest.Walkforward.peakmem_walkforward                260M
[90.57%] ··· bench_backtest.Walkforward.time_walkforward               80.8±1ms
[91.04%] ··· ...cktest.WalkforwardCold.time_cold_walkforward         81.1±0.5ms
[91.51%] ··· ...kforwardIntervals.time_walkforward_intervals            240±2ms
[91.98%] ··· ...t.WalkforwardLarge.peakmem_walkforward_large               268M
[92.45%] ··· ...test.WalkforwardLarge.time_walkforward_large            381±4ms
[92.92%] ··· ...st.WalkforwardModels.time_walkforward_models            413±1ms
[93.40%] ··· ...kforwardModelsCached.time_walkforward_models            409±2ms
[93.87%] ··· ...dModelsCached.time_walkforward_models_cached          406±0.9ms
[94.34%] ··· ...PerSymbol.time_walkforward_models_per_symbol            414±1ms
[94.81%] ··· ...ardMultiWindow.time_walkforward_multi_window          101±0.5ms
[95.28%] ··· ...t.WalkforwardPerBar.time_walkforward_per_bar            755±3ms
[95.75%] ··· ...rwardProperCold.time_proper_cold_walkforward           78.7±1ms
[96.23%] ··· ...st.WalkforwardScaled.time_walkforward_scaled                 ok
[96.23%] ··· ========= ============ ===========
             --                symbols         
             --------- ------------------------
              windows       4            12    
             ========= ============ ===========
                 1      55.3±0.8ms   105±0.7ms 
                 3      76.7±0.9ms    162±8ms  
                 10     102±0.8ms     212±10ms 
             ========= ============ ===========

[96.70%] ··· ...n.IntervalCompression.time_compress_5m_large        2.36±0.05ms
[97.17%] ··· ...valCompression.time_compress_intervals_multi        6.57±0.03ms
[97.64%] ··· ...h_common.ResultQuantize.time_result_quantize         77.3±0.4ms
[98.11%] ··· bench_data.DataSourceCacheRead.time_cache_read         1.50±0.02ms
[98.58%] ··· ...h_data.DataSourceCacheWrite.time_cache_write         28.9±0.7ms
[99.06%] ··· ...ta.YFinanceMultiSymbol.time_yfinance_reshape        1.73±0.02ms
[99.53%] ··· ...lippage.time_walkforward_volatility_slippage          315±0.8ms
[100.00%] ··· ...umeSlippage.time_walkforward_volume_slippage            318±3ms

BENCHMARKS NOT SIGNIFICANTLY CHANGED.

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

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

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants