Aynı eyleme neden olan koşullarda birçok "veya" (||)'dan kaçmak mümkün müdür? - sayfa 10

 
borilunad :
Hızla ilgili bu soru, beni forumun saygın üyelerine "çoktan nasıl kaçınılır" veya "..." diye seslenmeye sevk etti çünkü. bunun zaman kaybına neden olduğuna inanılır. Ve eğer bazıları hırsları ya da gelişmelerinin ısrarlı reklamı nedeniyle tartışmaya girmeye yönlendirilirse, bu onların işi olarak kalır ve benim için geçerli değildir. Her durumda, cevap veren herkese teşekkürler! Ve hepinize başarılar diliyorum!
Önce beyninizle nasıl çalışacağınızı öğrenin, zaten dilinizle nasıl çalışacağınızı öğrendiniz. İyi şanlar!
 
TarasBY :
Önce beyninizle nasıl çalışacağınızı öğrenin, zaten dilinizle nasıl çalışacağınızı öğrendiniz. İyi şanlar!
Temel etik bir yana, kültürünüzün tarihi idolünüz Taras Bulba'dan uzak olmadığı için pişman olabilirsiniz!
 
Anladığım kadarıyla sonuç olmayacak. Çok yazık. Uzun sürmese de (gerekirse) birçok seçenek sunuldu.
 
Vinin :
Anladığım kadarıyla sonuç olmayacak. Çok yazık. Uzun sürmese de (gerekirse) birçok seçenek sunuldu.

Bir önceki sayfada Alexey'e (Et) ön sonucu ve tam olarak size getirdiğim açıklamaları bildirmiştim:

avatar
891
Et 13.02.2013 20:36
borilunad :

Önerilen tüm seçenekleri test ettim ve en hızlısının şu olduğu ortaya çıktı: if (A || B || C || D) Action();

Bundan daha hızlı nasıl olabilir merak ediyorum: if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();


947
borilunad 13.02.2013 22:46
Et :

Bundan daha hızlı nasıl olabilir merak ediyorum: if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();

Üzgünüm Alex, eve yeni geldim! Bu seçenek uygun değil çünkü yukarıda açıkladığım gibi Action(); bu sadece bir yürütme işlevi değildir, ancak öncekiler için ortak olan, ancak yön bakımından farklı ve buna bağlı olarak gerekli eylemler tarafından gerçekleştirilen işlevlerin farklı bir sırasına sahip birkaç koşul daha içerir. Anlayacağınız üzere bu seçenekle kodu daha da ağırlaştıramadım. Prensip olarak, eğer Action(); ise sürümünüzün daha hızlı olabileceği konusunda sizinle aynı fikirdeyim. sadece tek bir işlev çağrısı olurdu, başka bir şey değil. Optimal çözümler arayışımdaki yardımınız için çok teşekkür ederim! İyi geceler!
Buna henüz bir şey ekleyemiyorum çünkü bool'ler herhangi bir süre azaltma vermedi ve şimdi kullandığım tüm fonksiyonları kontrol ediyorum ve anladığınız gibi çok zaman alıyor. İlginiz için teşekkür ederim!
 
Temel olarak, sorun değil. Sonuçları kendim alabilirim. Sayısal sonuçlar
 
Vinin :
Temel olarak, sorun değil. Sonuçları kendim alabilirim. Sayısal sonuçlar

Viktor, tadilattan sonra bir apartman dairesi gibi kodu temizlemeyi yeni bitirdi, gereksiz koşullar, gereksiz normalleştirmeler gibi bir çok çöpü kaldırdı, mantığı düzeltti, kullanılan fonksiyon sayısını azalttı. Alexey ( alsu ) tavsiyesiyle bana çok yardımcı oldu, bunun için ona özellikle minnettarım. Sonuç olarak, test cihazında 4 aylık bir çalışma 2 dakikadan biraz fazla, bu da bana mükemmel uyuyor. Ve bool'evskie fonksiyonlarının gereksiz olduğu ortaya çıktı, çünkü. Hızla kazanmadılar, ancak bana gelecekte çok işime yarayacak gerekli deneyimi verdiler.

Katılan herkese kalbimin derinliklerinden teşekkür eder, hepinize başarılar ve bol kazançlar dilerim!