Skip to content

release: 22.5.0 — configurable LightGBM n_jobs (lgbm_n_jobs) + code-scanning #214#381

Merged
bartzbeielstein merged 6 commits into
mainfrom
develop
Jun 13, 2026
Merged

release: 22.5.0 — configurable LightGBM n_jobs (lgbm_n_jobs) + code-scanning #214#381
bartzbeielstein merged 6 commits into
mainfrom
develop

Conversation

@bartzbeielstein

Copy link
Copy Markdown
Collaborator

Promote developmain to release 22.5.0.

Since 22.4.1:

🤖 Generated with Claude Code

github-actions Bot and others added 6 commits June 13, 2026 19:47
The lgbm forecaster factories (default_lgbm_forecaster_factory,
quantile_lgbm_forecaster_factory) now read config.lgbm_n_jobs and forward it
to LGBMRegressor(n_jobs=...). Default is 1: on heterogeneous-core CPUs (e.g.
Apple Silicon's performance + efficiency cores) LightGBM's all-core OpenMP
anti-scales (the fork-join barrier stalls on the slow E-cores). With n_jobs=1
the backtesting heuristic (select_n_jobs_backtesting) instead parallelises the
CV folds across processes, which scales cleanly (~3x faster end-to-end tuning
on an M4 Max). On many-core homogeneous machines (e.g. Linux Xeon) set
lgbm_n_jobs=-1 to restore all-core in-model threading.

New field on ConfigMulti (inherited by ConfigEntsoe) and the PipelineConfig
protocol; factories read it via getattr(config, "lgbm_n_jobs", 1) so
config-like objects predating the field keep working.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…l-variable)

_throttle_open_meteo rebinding the module-level _LAST_REQUEST_MONOTONIC through
`global` tripped CodeQL's py/unused-global-variable (code-scanning alert #214).
Hold the last-request monotonic time in a one-element list mutated in place
under the lock instead: identical runtime behaviour, no global rebind. Updates
the throttle-spacing test to the list form.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sync docs/reference with the new ConfigMulti/ConfigEntsoe.lgbm_n_jobs field and
the updated lgbm factory docstrings (API Reference In Sync gate).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…gbm-n-jobs

feat(multitask): configurable LightGBM n_jobs (default 1) + clear code-scanning #214
## [22.5.0-rc.1](v22.4.1...v22.5.0-rc.1) (2026-06-13)

### Features

* **multitask:** configurable LightGBM n_jobs via config.lgbm_n_jobs ([1163478](1163478))

### Bug Fixes

* **weather:** hold throttle timestamp in a container (py/unused-global-variable) ([7860fe2](7860fe2)), closes [#214](#214)

### Documentation

* **reference:** regenerate quartodoc reference for lgbm_n_jobs ([a7aeee4](a7aeee4))
@bartzbeielstein bartzbeielstein merged commit 4630f67 into main Jun 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants