Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
52cf56c
Fix data leakage in housing data generation
DavidEiglspergerQC Jan 22, 2026
32d7397
First implementation of additional benchmarks
DavidEiglspergerQC Jan 21, 2026
158911f
new benchmark adaption
DavidEiglspergerQC Jan 22, 2026
e0933d5
exclude statsmodels
DavidEiglspergerQC Jan 22, 2026
8b2b49e
adjust benchmarks
DavidEiglspergerQC Jan 26, 2026
fa27690
adapt parameters
DavidEiglspergerQC Jan 26, 2026
527da4a
Delete cv and adjust plotting
DavidEiglspergerQC Jan 26, 2026
3847e7e
Resolve conflicts
DavidEiglspergerQC Jan 26, 2026
93ce467
Add scaling
DavidEiglspergerQC Jan 26, 2026
cd88e50
Scaling only for benchmarks, not for golden master tests
DavidEiglspergerQC Jan 27, 2026
d97edc2
Closed form solution for l2-gaussian
DavidEiglspergerQC Jan 27, 2026
214723a
Benchmark CLI replacement and separation of benchmarking
DavidEiglspergerQC Jan 28, 2026
585ed33
fix CI
DavidEiglspergerQC Jan 28, 2026
1d5d2a1
Improved plotting and some small adaptions/fixes
DavidEiglspergerQC Jan 29, 2026
ebadc5b
update comments and fix CI
DavidEiglspergerQC Jan 29, 2026
d8a760d
Config in yaml, advanced plotting & storage=auto for glum
DavidEiglspergerQC Jan 30, 2026
0b43cb6
Incorporate feedback and add some further functionalities
DavidEiglspergerQC Feb 2, 2026
e001f10
chore: retrigger CI
DavidEiglspergerQC Feb 2, 2026
99ba513
change timeout logic
DavidEiglspergerQC Feb 3, 2026
87925ec
Refinements & new features
DavidEiglspergerQC Feb 6, 2026
8c8181c
Bug fixes, parameter tuning and scaling refinement
DavidEiglspergerQC Feb 9, 2026
7da765d
CI fix
DavidEiglspergerQC Feb 9, 2026
3463690
Minor cleaning
DavidEiglspergerQC Feb 9, 2026
3710cb3
Merge remote-tracking branch 'origin/main' into fix/update_benchmarks
DavidEiglspergerQC Feb 10, 2026
4acc89e
Allow flexible K/N ratio for the simulated problems
DavidEiglspergerQC Feb 10, 2026
92ff8d9
adjust defaults and available distributions
DavidEiglspergerQC Feb 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Project-specific
benchmark_output/
# Benchmark outputs, only track docs/results.csv and docs/config.yaml
glum_benchmarks/results/*
!glum_benchmarks/results/docs/
!glum_benchmarks/results/docs/**
glum_benchmarks/results/docs/*
!glum_benchmarks/results/docs/results.csv
!glum_benchmarks/results/docs/config.yaml
glum_benchmarks/.cache/

# Files created by templating
dense.cpp
Expand Down Expand Up @@ -137,9 +143,6 @@ mlruns
*.pdf
*.lprof

# GLM_BENCHMARKS_CACHE
cache

# pkgs
pkgs/*

Expand Down
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ repos:
- id: mypy
name: mypy
entry: pixi run -e default mypy
exclude: (^tests/|^src/glum_benchmarks/orig_sklearn_fork/)
exclude: ^tests/
language: system
types: [python]
require_serial: true
Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,10 @@ The goal of `glum` is to be at least as feature-complete as existing GLM librari

This repo also includes tools for benchmarking GLM implementations in the `glum_benchmarks` module. For details on the benchmarking, [see here](src/glum_benchmarks/README.md). Although the performance of `glum` relative to `glmnet` and `h2o` depends on the specific problem, we find that when N >> K (there are more observations than predictors), it is consistently much faster for a wide range of problems.

<!-- BENCHMARK_FIGURES_START -->
![Performance benchmarks](docs/_static/headline_benchmark.png#gh-light-mode-only)
![Performance benchmarks](docs/_static/headline_benchmark_dark.png#gh-dark-mode-only)
<!-- BENCHMARK_FIGURES_END -->

For more information on `glum`, including tutorials and API reference, please see [the documentation](https://glum.readthedocs.io/en/latest/).

Expand Down
4 changes: 4 additions & 0 deletions docs/benchmarks.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ Note that glum was originally developed to solve problems where N >> K (number o

If a bar goes out of the range of the chart, the exact runtime is printed on the bar with an arrow indicating that the bar is truncated.

.. BENCHMARK_FIGURES_START

.. image:: _static/narrow-insurance-l2.png
:width: 700
.. image:: _static/narrow-insurance-lasso.png
Expand All @@ -28,3 +30,5 @@ Note that the ``r-glmnet`` result for the ``wide-insurance-ridge`` Poisson bench
:width: 700
.. image:: _static/intermediate-housing-lasso.png
:width: 700

.. BENCHMARK_FIGURES_END
108 changes: 0 additions & 108 deletions docs/benchmarks/benchmark_data.csv

This file was deleted.

310 changes: 0 additions & 310 deletions docs/benchmarks/benchmark_figure.py

This file was deleted.

Loading
Loading