
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
döngünün gövdesindeki dizilerin boyutunu değiştirirseniz, anında optimizasyon artık çalışmaz
bu yüzden kodu değiştirin:
)))) sadece boyut değişkeninizin değerini değiştirmeye kendinizi kaptırırsınız, bu da ArraySIze kullanan nominal ilk yöntemin kazanacağı anlamına gelir
IMHO'ya karşı hiçbir şey söyleyemem.
Çok büyük tekrarlarda, zafer birinci ve ikinci yöntemlerde rastgele oldu ... büyük olasılıkla mevcut anda işlemcinin önbelleğine ve toplam yüke bağlı hale geldi.
Soru döngüyle ilgili değildi - ancak işlevin açılmasıyla ilgiliydi. Tıpkı bir örnek olarak ArraySize
Bu iyidir) Yüksek seviyeli bir dilin mükemmelliği, uygun bir notasyon uygun olmadığı kadar ucuz olduğunda, ancak başlangıçta ucuz olduğunda kendini gösterir. Bunun her zaman böyle olmaması üzücü ve yeni gelenler için yardım konusunda yardım da her zaman değil ..... soru olmazdı)))
döngünün gövdesindeki dizilerin boyutunu değiştirirseniz, anında optimizasyon artık çalışmaz
bu yüzden kodu değiştirin:
aşmaz
çalışma zamanı optimizasyonu önde olacak
bu kadar basit makine komutlarını profil oluşturucu olmadan test edemezsiniz, genel olarak bir döngüde istediğinizi yazabilirsiniz, isteğe bağlı olarak, test cihazında test edin, hız bunun için önemlidir
Bu döngüyle ilgili değildi, ama derleyicinin işlevi nasıl açtığıyla ilgiliydi ..... oh iyi, genel olarak.
senden ayrılacağım
)))) sadece boyut değişkeninizin değerini değiştirmeye kendinizi kaptırırsınız, bu da ArraySIze kullanan nominal ilk yöntemin kazanacağı anlamına gelir
Yukarıda ekledim - bu kadar basit bir kod sadece ölçümlerle test edilmez, birçok faktör vardır - kodun boyutu küçüktür - hepsi işlemci önbelleğine sığar, kod işlemcide paralel mikro talimatlara iyi bölünmeli işlemci boru hattında, yani. kayıtlar, veri önceden getirme ile hızlı bir şekilde yüklenecektir
peki, belki Rand() da bir yerde iyi önbelleğe almaya başladı
genel olarak, burada hata ayıklayıcı olmadan nasıl test edeceğimi bilmiyorum - en azından orada talimatların yürütme süresini döngüler halinde görebilirsiniz
bana aksini kanıtla
ve sonra benim testimde bir nedenden dolayı aynılar
Mesajımı değiştirdim.
Görünüşe göre, tam tersine , ArraySize artık cnt değişkeninden daha hızlı yerine getiriyor.
Eskiden durum tam tersiydi. Muhtemelen artış cnt-- etkiler, döngünün gövdesi farklıdır ve muhtemelen yük için başka bir şeyin icat edilmesi gerekir.
Garip bir şey.
Döngü koşulunda ArraySize (arr) kullanmak , cnt değişkenini kullanmaktan daha az zaman gösterir.
Eskiden tam tersi oluyordu. Bu bir hata olabilir mi? Ve olmamalı.
Kodunuzda hiçbir şeyi karıştırmadınız, sizin için değer kim olacak?
cnt
ilk seçenekte olduğu gibi değiştirin
500r için soru (doğrulama olmadan), hangi yöntem daha hızlıdır. üst yöntemde kaç tane harici işlevin çağrıldığını görün
bir test seçeneği olarak - ayrıca her teste yalnızca kendi dizilerinizi de kaydırabilirsiniz - benim örneğimde arr1, arr2 ..
onlar. tst1_arr1[],tst1_arr2[] .... ve tst2_arr1[],tst2_arr2[] olacak
daha dürüst bir test olacak
Ben çıkıyorum, çok dikkat dağıtıcı - IMHO, uygun, kullan
genel olarak, burada hata ayıklayıcı olmadan nasıl test edeceğimi bilmiyorum - en azından orada talimatların yürütme süresini döngüler halinde görebilirsiniz
Evet, hiçbir yerde hata ayıklayıcı olmadan. Ve oradaki vuruşlarda ...
Garip bir şey.
Döngü koşulunda ArraySize (arr) kullanmak , cnt değişkenini kullanmaktan daha az zaman gösterir.
Eskiden tam tersi oluyordu. Bu bir hata olabilir mi? Ve olmamalı.
Rastgele bir sonuç. Derleme yapılırken , dizi boyutu değeri olan bellek hücresine erişim açılır ve dizinin boyutu, dizi oluşturulduğunda, dizi dinamik olsa bile önceden elde edilir ve bellek hücresine yerleştirilir, ve dizi boyutuna ve değişken değerine sahip hücreler erişim zamanında aynı olacaktır.
Pekala, ifadeye bakılırsa, 3-4 bilgisayar bilimi dersinde derleyicilerin ne yaptığı ... genel olarak, yeterince gerekli bir personel seviyesinin MCL ortamında çok gergin olmama izin vermeyeceğini umuyorum)