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
|
La commande collapse crée un ensemble de données de statistiques récapitulatives et est l’une des commandes de gestion des données les plus utilisées. Plus la taille des données augmente, plus le temps d’exécution augmente nécessairement. Dans Stata 17, en fonction de la taille de l’ensemble de données, la commande collapse permet des accélérations de 6 à 13 fois pour le calcul d’une moyenne simple et de 40 à 70 fois pour le calcul de statistiques telles que les médianes et les écarts types. Le tableau 2 montre les résultats de la réduction d’un ensemble de données avec 10 000 000 d’observations et différents nombres de variables réduites pour le cas où nous calculons les médianes et les écarts types..
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
|
Pour Stata 17, nous avons également obtenu des améliorations de vitesse pour l’estimation. Le paquet d’algèbre linéaire (LAPACK) qui sous-tend de nombreuses fonctions et opérateurs de Mata est désormais optimisé par la bibliothèque Intel Math Kernel Library (MKL). La nouvelle MKL est-elle beaucoup plus rapide ? La multiplication d’une matrice réelle de 5 000 par 5 000 dans Stata/SE avec une matrice réelle de même dimension prend environ 13 secondes avec MKL dans Stata 17, contre 70 secondes dans Stata 16.
Temps de multiplication de deux matrices réelles en secondes :
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 of cholesky() in seconds:
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 est utilisé dans les calculs de nombreuses commandes d’estimation, ce qui les rend automatiquement plus rapides..
La commande import delimited pour importer des données à partir de CSV et d’autres fichiers texte délimités est maintenant parallélisée dans Stata/MP. Elle importe les grands ensembles de données jusqu’à quatre fois plus vite dans Stata 17.
Enfin, la commande mixed pour l’ajustement des modèles à effets mixtes multiniveaux est plus rapide. Selon nos calculs, les modèles avec 10 000 panels, 10 périodes de temps et 5 paramètres de pente aléatoires s’exécutent 2 à 3 fois plus vite dans Stata 17 que dans Stata 16. Des améliorations de vitesse similaires ont été constatées pour différents nombres de panels, de périodes et de coefficients de pente.
Nous recherchons continuellement des moyens de rendre Stata plus rapide. Nous étudions, codons et testons activement de nouveaux algorithmes dans la gestion des données et les routines d’estimation, et nous vous tiendrons informés des derniers développements.