Açıkça görülüyor ki Python çok daha hızlı. Bu C'nin de daha hızlı olacağı anlamına geliyor, bu yüzden MQ'nun bize bir şey söylemediği, karşılaştırılabilir performans vaat ettiği ortaya çıkıyor....
Python'un kod çalıştırırken küçük bir paralelleştirmeye sahip olduğunu belirtmeliyim - yaklaşık iki çekirdek için yarım saniye, geri kalanı bir çekirdekte sayılır.
Bu hat nedeniyle tüketim miktarı neredeyse iki katına çıkmıştır.
Bu sadece CMatrixDouble 'dan matrix<double>'a bir geçiştir. Hatta hafıza yüzünden bu matris karşılaştırmasını yapmak zorunda kaldım.
Ve bu dönüşüm ile zaman %40 artar. Yorumlandı // Res = MatrixOut.ToMatrix();
Yani sadece Alglibov fnctional ile çalışırsanız (matrislerini terminal matrislere dönüştürmeden), daha hızlı olacaktır.
Python, yukarıdaki örnekte olduğu gibi orijinal matrisin aynı boyutunu hesaplamak için ne kadar zaman alır?
Matris oluşturma dikkate alınarak zaman ölçümü
taşlarınızı atın)
Matris oluşturmayı dikkate alan zaman ölçümü
Bu eski bir FX-8350 üzerinde.
Buna dayanarak bir korelasyon matrisi hesaplaması yaptım.
Performans ölçüldü.
İstatistikler için, elde ettiğim sonuç şudur
Python'un kod çalıştırırken küçük bir paralelleştirmeye sahip olduğunu belirtmeliyim - yaklaşık iki çekirdek için yarım saniye, geri kalanı bir çekirdekte sayılır.
NumPy kütüphanesi C dilinde yazılmıştır.
Evet, bu mantıklı. Bu yüzden python sarmalayıcısının MQL5 gibi bir C derleyicisinden daha hızlı olduğunu söyledim.
İşte R ChatGPT teklifleri
Sonuç
Anladığım kadarıyla, python bir tamsayı matrisi ile çalışabiliyor ve buradaki hızlar burada farklı bir düzende
Kod doğruysa, sonuç aşağıdaki gibidir
Hesaplamaların sonuçlarının doğruluğu/karşılaştırılabilirliği sorusunun kendisi kontrol edilmelidir.
Bu basitçe CMatrixDouble 'dan matrix<double>'a geçiştir.
Formatları her iki yönde de dönüştürmek %20 daha fazla yürütme süresi alır. Ancak yine de NumPy'den çok (> 3 kat) daha yavaştır.