Skip to content

Performance results

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