Il est clair que Python est beaucoup plus rapide. Cela signifie que le C sera également plus rapide, donc il s'avère que MQ ne nous dit pas grand-chose en promettant des performances comparables....
Je dois noter que Python a une petite parallélisation lors de l'exécution du code - pendant une demi-seconde pour environ deux cœurs, le reste est compté sur un seul cœur.
Presque le double de la consommation due à cette ligne.
Il s'agit simplement d'une transition de CMatrixDouble à matrix<double>. J'ai même dû faire cette comparaison de matrices à cause de la mémoire.
Et le temps est augmenté de 40% par cette conversion. Commenté // Res = MatrixOut.ToMatrix() ;
C'est à dire que si vous ne travaillez qu'avec Alglibov fnctionnel (sans convertir ses matrices en matrices terminales), ce sera plus rapide.
Combien de temps faut-il à Python pour calculer la même taille de la matrice originale que dans l'exemple ci-dessus ?
Mesure du temps en considérant la création de la matrice
jetez vos pierres )
Mesure du temps en tenant compte de la création de la matrice
Ceci sur un vieux FX-8350.
Sur cette base, j'ai calculé la matrice de corrélation.
J'ai mesuré la performance.
Pour les statistiques, voici le résultat que j'ai obtenu
Je dois noter que Python a une petite parallélisation lors de l'exécution du code - pendant une demi-seconde pour environ deux cœurs, le reste est compté sur un seul cœur.
la bibliothèque NumPy est écrite en C.
Oui, c'est logique. C'est pourquoi j'ai mentionné que le wrapper python est plus rapide qu'un compilateur C comme MQL5.
Ici sur les offres de R ChatGPT
Résultat
Si j'ai bien compris, python peut travailler avec une matrice d'entiers et les vitesses ici sont d'un ordre différent ici
Si le code est correct, le résultat est le suivant
La question de la précision/comparabilité des résultats des calculs doit être vérifiée.
Il s'agit simplement d'une transition de CMatrixDouble à matrix<double>.
Il faut 20% de temps d'exécution en plus pour convertir les formats dans les deux sens. Mais il est encore beaucoup plus lent (> 3 fois) que NumPy.