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
|
Der Befehl „Kollaps“ erstellt einen Datensatz mit zusammenfassenden Statistiken und ist einer der am häufigsten verwendeten Datenverwaltungsbefehle. Mit der Größe der Daten wächst zwangsläufig auch die Laufzeit. In Stata 17 erreicht collapse je nach Größe des Datensatzes Geschwindigkeitssteigerungen zwischen 6 und 13 Mal für die Berechnung eines einfachen Mittelwerts und zwischen 40 und 70 Mal für die Berechnung von Statistiken wie Medianen und Standardabweichungen. Tabelle 2 zeigt die Ergebnisse für das Kollabieren eines Datensatzes mit 10.000.000 Beobachtungen und einer unterschiedlichen Anzahl von kollabierten Variablen für den Fall, dass wir Mediane und Standardabweichungen berechnen.
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
|
Für Stata 17 haben wir auch Geschwindigkeitsverbesserungen bei der Schätzung erreicht. Das lineare Algebra-Paket (LAPACK), das vielen Funktionen und Operatoren von Stata zugrunde liegt, wird jetzt von der Intel Math Kernel Library (MKL) unterstützt. Wie viel schneller ist die neue MKL? Die Multiplikation einer reellen 5.000-mal-5.000-Matrix in Stata/SE mit einer reellen Matrix der gleichen Dimension dauert mit MKL in Stata 17 etwa 13 Sekunden im Vergleich zu 70 Sekunden in Stata 16.
Zeitliche Abfolge der Multiplikation von zwei reellen Matrizen in Sekunden:
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
|
Timing von cholesky() in Sekunden:
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 wird von vielen Abschätzungsbefehlen bei Berechnungen verwendet, so dass diese automatisch auch schneller sind.
Der Befehl „import delimited“ zum Importieren von Daten aus CSV- und anderen begrenzten Textdateien ist jetzt in Stata/MP parallelisiert. Er importiert große Datensätze bis zu viermal schneller in Stata 17.
Nicht zuletzt ist der Befehl „Mixed“ für die Anpassung von mehrstufigen Mixed-Effects-Modellen schneller. In unseren Zeitmessungen laufen Modelle mit 10.000 Panels, 10 Zeitperioden und 5 zufälligen Steigungsparametern in Stata 17 2 bis 3 Mal schneller als in Stata 16. Ähnliche Geschwindigkeitsverbesserungen traten für unterschiedliche Anzahlen von Panels, Zeitperioden und Steigungskoeffizienten auf.
Wir suchen ständig nach Möglichkeiten, Stata schneller zu machen. Wir untersuchen, kodieren und testen aktiv neue Algorithmen in der Datenverwaltung und in den Schätzungsroutinen, und wir halten Sie über die neuesten Entwicklungen auf dem Laufenden.