Değişkenleri bir döngünün arkasında mı yoksa bir döngünün içinde mi bildiriyorsunuz? - sayfa 3
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
Bu ifadenin yazarının işlemcinin, belleğin ve derleyicinin nasıl çalıştığının hiç farkında olmadığına dair bir şüphem var ...
Bence bu yorumu yazan kişi o kadar dikkatsiz ki konunun özünü anlamamış.
Ve işte bellek ve işlemci, soru MQL5'teki optimizasyonla ilgiliydi, daha dikkatli okumanız gerekiyor
Not: Boş zamanlarınızda eğlenceli bir küçük kitap okuyun " Dikkat geliştirme tekniği, Andreev O.A., 2007 "
Ve işte bellek ve işlemci, soru MQL5'te optimizasyon ile ilgiliydi, daha dikkatli okumanız gerekiyor
Yani, sizce bu kod bellek veya işlemci kullanmıyor mu? Ve derleyiciler hakkındaki sözleri yanıtladım " Modern derleyicilerin optimizasyonlarını aşmak için çok denemeniz gerekir. "
Bu ifadenin yazarının işlemcinin, belleğin ve derleyicinin nasıl çalıştığından tamamen habersiz olduğuna dair bir şüphem var... Kodunuzun herhangi birinin en az onlarca, hatta yüzlerce kez hızlandırılabileceğine bahse girerim.
Bu yüzden önce tartışılan kodla ilgili olarak kanıtlamaya çalışın. Ayrıca, Igor'un bahsettiği yukarıdaki sonuçlara inanıyorsanız, bunun tam tersinin doğru olduğu ortaya çıkıyor. Döngü içindeki bildirim biraz daha hızlıdır.
Dolayısıyla derleyiciyi yenmek için yapılan tüm bu danslar ve şamanizm sonunda daha pahalıya mal oluyor. Derleyicinin kodu optimize etmesi daha zor hale gelir. Bir değişken bir bloğun dışında bildirildiğinde, yinelemeler arasındaki durumunu koruyarak harici olarak kabul edilir. Bu nedenle derleyici, optimizasyon olasılıklarında sınırlıdır. İşlevsel programlama paradigmasına aşina iseniz, temiz kod her zaman "kirli" (yan etkileri olan) koddan daha iyi optimize edilir.
Bu yüzden önce tartışılan kodla ilgili olarak kanıtlamaya çalışın. Üstelik, Igor'un bahsettiği yukarıdaki sonuçlara inanıyorsanız, bunun tam tersinin doğru olduğu ortaya çıkıyor. Döngü içindeki bildirim biraz daha hızlıdır.
Dolayısıyla derleyiciyi yenmek için yapılan tüm bu danslar ve şamanizm sonunda daha pahalıya mal oluyor. Derleyicinin kodu optimize etmesi daha zor hale gelir. Bir değişken bir bloğun dışında bildirildiğinde, yinelemeler arasındaki durumunu koruyarak harici olarak kabul edilir. Bu nedenle derleyici, optimizasyon olasılıklarında sınırlıdır. İşlevsel programlama paradigmasına aşina iseniz, temiz kod her zaman "kirli" (yan etkileri olan) koddan daha iyi optimize edilir.
Ne de olsa boş zamanınızda okuyun, önerdiğim kitabı, derleyiciler hakkında birçok yeni şey öğreneceğinizi düşünüyorum.
Bu yüzden önce tartışılan kodla ilgili olarak kanıtlamaya çalışın. Ayrıca, Igor'un bahsettiği yukarıdaki sonuçlara inanıyorsanız, bunun tam tersinin doğru olduğu ortaya çıkıyor. Döngü içindeki bildirim biraz daha hızlıdır.
Dolayısıyla derleyiciyi yenmek için yapılan tüm bu danslar ve şamanizm sonunda daha pahalıya mal oluyor. Derleyicinin kodu optimize etmesi daha zor hale gelir. Bir değişken bir bloğun dışında bildirildiğinde, yinelemeler arasındaki durumunu koruyarak harici olarak kabul edilir. Bu nedenle derleyici, optimizasyon olasılıklarında sınırlıdır. İşlevsel programlama paradigmasına aşina iseniz, temiz kod her zaman "kirli" (yan etkileri olan) koddan daha iyi optimize edilir.
Testim tam tersini gösteriyor, döngünün arkasında değişken bildirimi olan kod daha hızlı
https://www.mql5.com/en/forum/320307/page2#comment_12886814
Birçok kez başlatıldı, sonuç kararlı, döngünün arkasındaki değişkenin bildirimi ile kod daha hızlı çalışıyor
Testim tam tersini gösteriyor, döngünün arkasında değişken bildirimi olan kod daha hızlı
Garip, ama biraz daha erken, bir kişi tam tersi sonuçlar aldı
Su baskınını durdurun, önce malzemede ustalaşın ve ardından davanızı kanıtlayın. İşlemcinin ve belleğin çalışması hakkında en az bir kitap okusaydınız, sonuç herhangi bir test yapmadan sizin için net olurdu. Size bunların en ustacasını sundum, eğer programlamada sessizce ilerlemek istiyorsanız mutlaka okuyacaksınız.
Garip, ama biraz daha erken, bir kişi tam tersi sonuçlar aldı
Yapay bir örnek üzerinde böyle bir hız testinin hiç bir şekilde gösterge olmadığını söylemiştim. Hata ayıklayıcı kapsamındaki araştırmam yeterli değil mi? güvenilmiyor muyum? Herkes görmezden geldi. Bu ustanın işi, ben gidiyorum.
Ayrıca, Igor'un bahsettiği yukarıdaki sonuçlara inanıyorsanız, bunun tam tersinin doğru olduğu ortaya çıkıyor.
Kendime inanmıyorum, her zaman iki kez kontrol ediyorum, bence özgüvenimi yükseltmemelisin ... tarihte farklı durumlar vardı, şu anda bir Napolyon kadını bulacağım ve gidiyoruz! ))))
Garip, ama biraz daha erken, bir kişi tam tersi sonuçlar aldı
garip değil, MQL'deki en basit operatörleri ve işlemleri test edebilmeniz gerekiyor - peki, neden testime srand( GetTickCount() ) ekledim?
;)