Table 1: Stata 17 versus Stata 16 timings in seconds for 20 variables and different observation numbers and edition combinations
|
Mean timings in seconds |
Observations and edition |
Stata 17 |
Stata 16 |
Speedup |
10,000 |
|
SE |
0.08 |
0.35 |
4.42 |
MP4 |
0.07 |
0.14 |
2.02 |
MP8 |
0.06 |
0.10 |
1.79 |
100,000 |
|
SE |
0.14 |
0.54 |
3.75 |
MP4 |
0.10 |
0.23 |
2.36 |
MP8 |
0.08 |
0.16 |
1.97 |
1,000,000 |
|
SE |
0.25 |
0.77 |
3.14 |
MP4 |
0.16 |
0.44 |
2.83 |
MP8 |
0.14 |
0.32 |
2.54 |
10,000,000 |
|
SE |
3.34 |
19.76 |
5.92 |
MP4 |
2.06 |
6.90 |
3.35 |
MP8 |
1.89 |
5.50 |
2.91 |
Timings run in Windows 10 on a computer with an i9-9900KS processor at 4.00GHz and 64GB RAM
|
Comanda de colaps creează un set de date cu statistici rezumate și este una dintre cele mai utilizate comenzi de gestionare a datelor. Pe măsură ce dimensiunea datelor crește, crește în mod necesar timpul de rulare. În Stata 17, în funcție de dimensiunea setului de date, colapsul vede accelerații între 6 și 13 ori pentru calculul unei medii simple și între 40 și 70 de ori pentru calculul statisticilor, cum ar fi medianele și abaterile standard. Tabelul 2 prezintă rezultatele pentru prăbușirea unui set de date cu 10.000.000 de observații și un număr variabil de variabile prăbușite pentru cazul în care calculăm mediane și abateri standard.
Table 2: Stata 17 versus Stata 16 timings in seconds for 10,000,000 observations for different variable number and edition combinations
Variables and edition |
Stata 17 |
Stata 16 |
Speedup |
10 |
|
SE |
.3412143 |
13.96871 |
40.96581 |
MP4 |
.23 |
16.39493 |
71.29675 |
MP8 |
.2091429 |
13.41664 |
64.17162 |
100 |
|
SE |
.3068571 |
13.86514 |
45.1849d |
MP4 |
.2205714 |
16.06886 |
72.86166 |
MP8 |
.196 |
13.41314 |
68.43816 |
1,000 |
|
SE |
.3437143 |
13.994 |
40.73298 |
MP4 |
.2277143 |
16.34614 |
71.79339 |
MP8 |
.2117143 |
13.39286 |
63.26852 |
10,000 |
|
SE |
.3392857 |
13.92886 |
41.09007 |
MP4 |
.2287143 |
16.149 |
70.61243 |
MP8 |
.207 |
13.36543 |
64.58582 |
100,000 |
|
SE |
.3177143 |
13.97943 |
44.03442 |
MP4 |
.224 |
16.22057 |
72.43024 |
MP8 |
.1944286 |
13.38586 |
68.85059 |
Timings run in Windows 10 on a computer with an i9-9900KS processor at 4.00GHz and 64GB RAM
|
Pentru Stata 17, am obținut, de asemenea, îmbunătățiri ale vitezei de estimare. Pachetul de algebră liniară (LAPACK) care stă la baza multor funcții și operatori Mata este acum alimentat de Intel Math Kernel Library (MKL). Cât de rapid este noul MKL? Înmulțirea unei matrici reale 5.000 cu 5.000 în Stata / SE cu o matrice reală de aceeași dimensiune durează aproximativ 13 secunde folosind MKL în Stata 17 comparativ cu 70 de secunde în Stata 16.
Momentul multiplicării a două matrice reale în secunde:
Edition |
Size |
MKL |
non-MKL |
MP8 |
5,000 by 5,000 |
2.55 |
10.26 |
MP8 |
10,000 by 10,000 |
17.28 |
85.60 |
|
|
MP4 |
5,000 by 5,000 |
3.62 |
15.95 |
MP4 |
10,000 by 10,000 |
28.22 |
127.24 |
|
|
SE |
5,000 by 5,000 |
13.64 |
70.61 |
SE |
10,000 by 10,000 |
108.33 |
566.99 |
Timings run in Windows 10 on a computer with an i9-9900KS processor at 4.00GHz and 64GB RAM
|
Momentulcholesky() în secunde:
Edition |
Size |
MKL |
non-MKL |
MP8 |
5,000 by 5,000 |
0.42 |
16.69 |
MP8 |
10,000 by 10,000 |
2.91 |
133.60 |
|
|
MP4 |
5,000 by 5,000 |
0.69 |
16.69 |
MP4 |
10,000 by 10,000 |
5.03 |
133.70 |
|
|
SE |
5,000 by 5,000 |
2.41 |
18.62 |
SE |
10,000 by 10,000 |
16.66 |
133.63 |
Timings run in Windows 10 on a computer with an i9-9900KS processor at 4.00GHz and 64GB RAM
|
LAPACK este utilizat în calcule de mai multe comenzi de estimare, deci și ele sunt automat mai rapide.
Comanda de delimitare pentru importul de date din CSV și alte fișiere text delimitate este acum paralelizată în Stata / MP. Importă seturi de date mari de până la patru ori mai rapid în Stata 17.
Nu în ultimul rând, comanda mixtă pentru montarea modelelor cu efecte mixte pe mai multe niveluri este mai rapidă. În timpii noștri, modelele cu 10.000 de panouri, 10 perioade de timp și 5 parametri de panta aleatorii rulează de 2 până la 3 ori mai repede în Stata 17 decât în Stata 16. Îmbunătățiri similare ale vitezei au avut loc pentru diferite numere de panouri, perioade de timp și coeficienți de panta.
Căutăm continuu modalități de a face Stata mai rapidă. Investigăm activ, codificăm și testăm noi algoritmi în rutina de gestionare și estimare a datelor și vă vom ține la curent cu cele mai recente evoluții.