Hatalar, hatalar, sorular - sayfa 2162
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
enum bir tamsayı numaralandırmadır.
İşlev şablonu şunları içeriyorsa
EnumToString();
Sorunlar ortaya çıkıyor...
İşlev şablonu şunları içeriyorsa
EnumToString();
Sorunlar ortaya çıkıyor...
Bir örnek gerekli.
Bir tanesi şablon haline gelen bir aşırı yükleme yaptım ...
böylece sinekleri pirzolalardan ayırabildim ...
Bir tanesi şablon haline gelen bir aşırı yükleme yaptım ...
böylece sinekleri pirzolalardan ayırabildim ...
Matematik optimizasyonu: sqrt yerine dizileri kullanmaya çalışmak.
bu yüzden basit bir diziden dizine göre eleman almak çok hızlı bir işlem olmalı, değil mi?
bu yüzden basit bir diziden dizine göre eleman almak çok hızlı bir işlem olmalı, değil mi?
Basit bir diziyi nerede görüyorsunuz?
Kontrol için tüm etkileri olan, yönetilen bir dilin dinamik bir dizisidir. Ve sqrt, tek bir yerel işlemci talimatıdır.
Optimizasyonların şaşırtıcı keşiflerinin ve her işlemci neslinde her durumda birçok faktörün etkisinin, önbellek boyutlarındaki her farkın, çoklu görevin, cezaların vb. dünyasına hoş geldiniz.
20 yıl önce bile bir 486 işlemcide montaj kodunu yalamakla meşguldüm ve talimatların yeniden düzenlenmesi, hizalanması ve bellekte tam olarak konumlandırılması nedeniyle sürekli olarak yüzde onlarca değişen hızlarla mücadele ediyordum. Çılgınca görünüyordu, ancak Intel ve Vtune kılavuzları daha sonra resmi açıkladı.
Ancak bugün optimizasyon sonuçlarıyla ilgili durum uzun zamandır kontrolden çıktı. Piyasada farklı önbelleklere sahip o kadar çok farklı işlemci var ki, kodunuzun farklı hızlarda çalışması garanti ediliyor. İşlemci önbellekleri ve işlemci mimarisinin büyük bir etkisi vardır. Kıyaslamadaki yüzde onlarca farkı ortadan kaldırmak için işlemcinin dinamik frekans kontrolünün bile devre dışı bırakılması gerekiyor.
Örneğin: Kesilmiş önbelleğe sahip atomlar iyi bir mimariye sahip gibi görünüyor veya boğulmuş U modelleri genellikle basit durumlarda bile katları daha düşük sonuçlar gösteriyor. Daha fazla önbellek özlüyor ve güle güle.
Sinekleri biliyorum, pirzolaları gördüm, ama sorun şu - fonksiyon kodu olmadan göremezsiniz.
Basit bir diziyi nerede görüyorsunuz?
Karmaşıklık sergilemek için doğru durum değil. Diziler her yerde kullanılır, göstergelerde bu ana hesaplama kısmıdır ve şimdi neredeyse doğrudan dizileri uygulamanızın yavaş olduğunu kabul ediyorsunuz.
Optimizasyonları çok daha iyi anladığınıza inanıyorum, ancak basit bir kullanıcı açısından her şey biraz garip görünüyor - MQL derleyicisinin C ++ hızıyla karşılaştırılabilir kod ürettiğini iddia ediyorsunuz, ancak aniden diziler ortaya çıkıyor. MQL'de hiç hızlı değil.Karmaşıklık sergilemek için doğru durum değil. Diziler her yerde kullanılır, göstergelerde bu ana hesaplama kısmıdır ve şimdi neredeyse doğrudan dizileri uygulamanızın yavaş olduğunu kabul ediyorsunuz.
Doğrudan tek bir montajcı talimatıyla karşılaştırıldığında?
Evet, kolayca. Çeşitli matematiksel işlevlerin önceden hesaplanmış tablolarının uzun süredir işlemcilerde yerleşik olduğunun farkında değilsiniz. Ve pahalı işlemci matematik komutları, hızlandırmak için bunları kullanır.
Pazartesi günü, örneğinin ayrıntılı bir analizini yapacağız ve kesin nedeni öğreneceğiz.Doğrudan tek bir montajcı talimatıyla karşılaştırıldığında?
en iyi ihtimalle bir dizi dizini , doğrudan tek bir montajcı talimatına da indirgenir, bu nedenle soru hala geçerli