Measured at release v0.8.0 (commit 886aa20fd212993ee98805224bb7c90c8d22c185) by the Benchmark (performance) workflow on GitHub Actions (ubuntu-latest, shared runner; run 37182418216). Each point is the median of 3 runs after one warm-up run, with the linear-algebra backends pinned to one thread and the extension built in release mode. See Performance for how to read these numbers.
OLS
Compared with statsmodels 0.15.0.
n-axis (k=5)
Time in seconds (median) / peak RSS in MB.
classical
| n |
econometricsmodels |
statsmodels |
| 1,000 |
0.0001s / 93.1MB |
0.0096s / 254.1MB |
| 10,000 |
0.0011s / 94.4MB |
0.0119s / 235.7MB |
| 100,000 |
0.0095s / 112.9MB |
0.0300s / 270.7MB |
| 1,000,000 |
0.0725s / 320.4MB |
0.2176s / 566.4MB |
hac
| n |
econometricsmodels |
statsmodels |
| 1,000 |
0.0002s / 93.6MB |
0.0100s / 243.5MB |
| 10,000 |
0.0019s / 96.3MB |
0.0145s / 236.4MB |
| 100,000 |
0.0183s / 120.4MB |
0.0598s / 274.5MB |
| 1,000,000 |
0.2352s / 382.4MB |
0.9347s / 651.5MB |
k-axis (n=10,000)
Time in seconds (median).
classical
| k |
econometricsmodels |
statsmodels |
| 5 |
0.0011s |
0.0122s |
| 20 |
0.0037s |
0.0376s |
hac
| k |
econometricsmodels |
statsmodels |
| 5 |
0.0020s |
0.0142s |
| 20 |
0.0092s |
0.0457s |
WLS
Compared with statsmodels 0.15.0.
n-axis (k=5)
Time in seconds (median) / peak RSS in MB.
classical
| n |
econometricsmodels |
statsmodels |
| 1,000 |
0.0001s / 92.9MB |
0.0096s / 258.1MB |
| 10,000 |
0.0013s / 94.8MB |
0.0129s / 236.1MB |
| 100,000 |
0.0145s / 114.5MB |
0.0308s / 269.9MB |
| 1,000,000 |
0.1037s / 335.6MB |
0.2424s / 612.1MB |
hac
| n |
econometricsmodels |
statsmodels |
| 1,000 |
0.0002s / 93.6MB |
0.0104s / 246.6MB |
| 10,000 |
0.0024s / 96.3MB |
0.0153s / 236.6MB |
| 100,000 |
0.0268s / 122.9MB |
0.0619s / 279.0MB |
| 1,000,000 |
0.2673s / 390.0MB |
0.9800s / 667.6MB |
k-axis (n=10,000)
Time in seconds (median).
classical
| k |
econometricsmodels |
statsmodels |
| 5 |
0.0013s |
0.0132s |
| 20 |
0.0043s |
0.0360s |
hac
| k |
econometricsmodels |
statsmodels |
| 5 |
0.0024s |
0.0155s |
| 20 |
0.0088s |
0.0461s |
Logit
Compared with statsmodels 0.15.0.
n-axis (k=5)
Time in seconds (median) / peak RSS in MB.
classical
| n |
econometricsmodels |
statsmodels |
| 1,000 |
0.0008s / 151.0MB |
0.0099s / 256.1MB |
| 10,000 |
0.0071s / 153.1MB |
0.0154s / 240.5MB |
| 100,000 |
0.0686s / 175.8MB |
0.0890s / 270.9MB |
| 1,000,000 |
0.7033s / 408.6MB |
0.9501s / 524.1MB |
cluster
| n |
econometricsmodels |
statsmodels |
| 1,000 |
0.0009s / 151.8MB |
0.0101s / 247.7MB |
| 10,000 |
0.0090s / 155.2MB |
0.0165s / 241.0MB |
| 100,000 |
0.0914s / 188.8MB |
0.0999s / 271.4MB |
| 1,000,000 |
0.9410s / 461.2MB |
1.0482s / 525.5MB |
k-axis (n=10,000)
Time in seconds (median).
classical
| k |
econometricsmodels |
statsmodels |
| 5 |
0.0070s |
0.0157s |
| 20 |
0.0289s |
0.0391s |
cluster
| k |
econometricsmodels |
statsmodels |
| 5 |
0.0091s |
0.0162s |
| 20 |
0.0379s |
0.0410s |
Variants (cov_type=classical, k=5, n=1,000,000)
Time in seconds (median). The default variant (newton) is the matching row of the n-axis table above.
| variant |
econometricsmodels |
statsmodels |
| bfgs |
0.6684s |
0.9683s |
| lbfgs |
0.7180s |
0.8847s |
Probit
Compared with statsmodels 0.15.0.
n-axis (k=5)
Time in seconds (median) / peak RSS in MB. Rows for n=200,000, 1,000,000 are measured for classical only, without the reference implementation.
classical
| n |
econometricsmodels |
statsmodels |
| 1,000 |
0.0008s / 151.1MB |
0.0067s / 259.3MB |
| 10,000 |
0.0082s / 152.9MB |
0.0140s / 242.5MB |
| 100,000 |
0.0828s / 175.3MB |
0.0961s / 273.1MB |
| 200,000 |
0.1632s / 202.5MB |
- |
| 1,000,000 |
0.8059s / 410.9MB |
- |
cluster
| n |
econometricsmodels |
statsmodels |
| 1,000 |
0.0010s / 151.9MB |
0.0068s / 252.4MB |
| 10,000 |
0.0107s / 155.4MB |
0.0140s / 243.3MB |
| 100,000 |
0.1063s / 185.2MB |
0.1060s / 273.7MB |
k-axis (n=10,000)
Time in seconds (median).
classical
| k |
econometricsmodels |
statsmodels |
| 5 |
0.0082s |
0.0138s |
| 20 |
0.0233s |
0.0278s |
cluster
| k |
econometricsmodels |
statsmodels |
| 5 |
0.0174s |
0.0138s |
| 20 |
0.0320s |
0.0289s |
Variants (cov_type=classical, k=5, n=100,000)
Time in seconds (median). The default variant (newton) is the matching row of the n-axis table above.
| variant |
econometricsmodels |
statsmodels |
| bfgs |
0.1207s |
0.0989s |
| lbfgs |
0.0973s |
0.0913s |
Tobit
econometricsmodels only: there is no in-process reference implementation to time against.
n-axis (k=5)
Time in seconds (median) / peak RSS in MB. Rows for n=200,000, 1,000,000 are measured for classical only, without the reference implementation.
classical
| n |
econometricsmodels |
| 1,000 |
0.0012s / 151.8MB |
| 10,000 |
0.0115s / 153.5MB |
| 100,000 |
0.1296s / 178.7MB |
| 200,000 |
0.2593s / 202.8MB |
| 1,000,000 |
1.3214s / 401.3MB |
cluster
| n |
econometricsmodels |
| 1,000 |
0.0014s / 152.6MB |
| 10,000 |
0.0139s / 156.0MB |
| 100,000 |
0.1552s / 188.5MB |
k-axis (n=10,000)
Time in seconds (median).
classical
| k |
econometricsmodels |
| 5 |
0.0115s |
| 20 |
0.0452s |
cluster
| k |
econometricsmodels |
| 5 |
0.0139s |
| 20 |
0.0526s |
Variants (cov_type=classical, k=5, n=100,000)
Time in seconds (median). The default variant (newton) is the matching row of the n-axis table above.
| variant |
econometricsmodels |
| lbfgs |
0.1189s |
IV
Compared with linearmodels 7.0.
n-axis (k=5)
Time in seconds (median) / peak RSS in MB.
classical
| n |
econometricsmodels |
linearmodels |
| 1,000 |
0.0005s / 231.9MB |
0.0512s / 234.1MB |
| 10,000 |
0.0056s / 239.4MB |
0.1772s / 267.4MB |
| 100,000 |
0.0525s / 318.4MB |
1.4585s / 606.3MB |
| 1,000,000 |
0.4884s / 1122.0MB |
14.5023s / 3999.6MB |
hac
| n |
econometricsmodels |
linearmodels |
| 1,000 |
0.0007s / 232.7MB |
0.0518s / 233.8MB |
| 10,000 |
0.0085s / 241.8MB |
0.1803s / 267.4MB |
| 100,000 |
0.0967s / 330.5MB |
1.4783s / 605.7MB |
| 1,000,000 |
1.1754s / 1214.9MB |
15.4506s / 3978.6MB |
k-axis (n=10,000)
Time in seconds (median).
classical
| k |
econometricsmodels |
linearmodels |
| 5 |
0.0056s |
0.1743s |
| 20 |
0.0220s |
0.3160s |
hac
| k |
econometricsmodels |
linearmodels |
| 5 |
0.0090s |
0.1756s |
| 20 |
0.0384s |
0.3278s |
Variants (cov_type=classical, k=5, n=1,000,000)
Time in seconds (median). The default variant (2sls) is the matching row of the n-axis table above.
| variant |
econometricsmodels |
linearmodels |
| gmm |
0.2595s |
10.9818s |
FE
Compared with linearmodels 7.0.
n-axis (k=5)
Time in seconds (median) / peak RSS in MB.
classical
| n |
econometricsmodels |
linearmodels |
| 1,000 |
0.0002s / 231.1MB |
0.0180s / 239.7MB |
| 10,000 |
0.0015s / 234.0MB |
0.0357s / 247.9MB |
| 100,000 |
0.0185s / 274.4MB |
0.2306s / 332.7MB |
| 1,000,000 |
0.1953s / 616.1MB |
2.1864s / 963.1MB |
dk
| n |
econometricsmodels |
linearmodels |
| 1,000 |
0.0003s / 230.4MB |
0.0216s / 238.0MB |
| 10,000 |
0.0019s / 234.5MB |
0.0363s / 248.3MB |
| 100,000 |
0.0238s / 280.6MB |
0.2475s / 335.3MB |
| 1,000,000 |
0.2675s / 683.7MB |
2.2150s / 963.5MB |
k-axis (n=10,000)
Time in seconds (median).
classical
| k |
econometricsmodels |
linearmodels |
| 5 |
0.0014s |
0.0366s |
| 20 |
0.0044s |
0.0583s |
Variants (cov_type=classical, k=5, n=1,000,000)
Time in seconds (median). The default variant (one_way) is the matching row of the n-axis table above.
| variant |
econometricsmodels |
linearmodels |
| two_way |
0.2448s |
2.8215s |
RE
Compared with linearmodels 7.0.
n-axis (k=5)
Time in seconds (median) / peak RSS in MB.
classical
| n |
econometricsmodels |
linearmodels |
| 1,000 |
0.0007s / 230.7MB |
0.0456s / 236.7MB |
| 10,000 |
0.0065s / 237.2MB |
0.0931s / 247.1MB |
| 100,000 |
0.0587s / 312.8MB |
0.5964s / 359.5MB |
| 1,000,000 |
0.6162s / 1040.1MB |
5.9855s / 1273.6MB |
dk
| n |
econometricsmodels |
linearmodels |
| 1,000 |
0.0009s / 230.3MB |
0.0461s / 235.3MB |
| 10,000 |
0.0077s / 237.7MB |
0.0964s / 247.7MB |
| 100,000 |
0.0697s / 318.6MB |
0.5896s / 358.3MB |
| 1,000,000 |
0.7399s / 1107.4MB |
5.9611s / 1275.2MB |
k-axis (n=10,000)
Time in seconds (median).
classical
| k |
econometricsmodels |
linearmodels |
| 5 |
0.0075s |
0.0959s |
| 20 |
0.0211s |
0.1278s |