Ist es möglich, viele "Oder"-Zeichen (||) in Bedingungen zu vermeiden, die dieselbe Aktion verursachen? - Seite 10

 
borilunad:
Diese Frage der Geschwindigkeit hat mich dazu bewogen, mich an die geschätzten Forumsmitglieder zu wenden, "wie man viele "oder" vermeiden kann ...", weil ich der Meinung war, dass dies einen Zeitverlust verursacht. Und wenn sich einige aufgrund ihrer Ambitionen zu Polemik hinreißen lassen oder ihre Entwicklungen beharrlich vorantreiben, bleibt das ihre persönliche Angelegenheit und geht mich nichts an. Wie auch immer, danke an alle, die geantwortet haben! Und ich wünsche allen viel Erfolg!
Lernen Sie zunächst, mit Ihrem Gehirn zu arbeiten, denn Sie haben bereits gelernt, wie Sie mit Ihrer Zunge arbeiten. Viel Glück!
 
TarasBY:
Lernen Sie zunächst, mit Ihrem Gehirn zu arbeiten, denn Sie haben bereits gelernt, wie Sie mit Ihrer Zunge arbeiten. Viel Glück!
Es bleibt zu bedauern, dass sich Ihre Kultur, ganz zu schweigen von der grundlegenden Ethik, nicht weit von Ihrem historischen Idol Taras Bulba entfernt hat!
 
So wie ich das verstehe, wird es kein Ergebnis geben. Schade. Obwohl es nicht lange dauert (falls nötig), gibt es viele Möglichkeiten
 
Vinin:
Soviel ich weiß, wird es kein Ergebnis geben. Schade. Obwohl es nicht lange dauert (falls nötig), gibt es viele Möglichkeiten

Auf der vorigen Seite habe ich Alexey (Meat) das vorläufige Ergebnis und meine Erklärungen mitgeteilt, die ich Ihnen nun in vollem Umfang wiedergebe:

Avatar
891
Fleisch 13.02.2013 20:36
borilunad:

Ich habe alle Vorschläge getestet und es stellt sich heraus, dass der schnellste ist: if (A || B || C || D) Action();

Ich frage mich, wie es schneller gehen soll als so: if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();


947
borilunad 13.02.2013 22:46
Fleisch:

Ich frage mich, wie es schneller gehen soll als so: if (A) Action(); else if (B) Action(); else if (C) Action(); else if (D) Action();

Entschuldigung Alexej, ich bin gerade nach Hause gekommen! Diese Variante ist nicht geeignet, weil, wie ich oben erklärt habe, Acron(); nicht nur eine Ausführungsfunktion ist, sondern mehrere weitere Bedingungen enthält, die mit den vorherigen gemeinsam sind, sich aber in der Richtung unterscheiden und dementsprechend in einer anderen Reihenfolge der Ausführung der notwendigen Aktionsfunktionen. Wie Sie verstehen, konnte ich den Code mit dieser Variante nicht schwerer machen. Und im Prinzip stimme ich Ihnen zu, dass Ihre Version schneller sein könnte, wenn Action(); nur ein Aufruf einer Funktion wäre, nicht mehr. Vielen Dank für die Hilfe bei meiner Suche nach optimalen Lösungen! Ich wünsche Ihnen eine gute Nacht!
Ich kann dem noch nichts hinzufügen, da die bool's noch keinen Zeitschnitt ergeben haben, und ich bin gerade dabei, alle Funktionen, die ich benutze, zu überprüfen, und wie Sie sich vorstellen können, braucht das eine Menge Zeit. Vielen Dank für Ihre Aufmerksamkeit!
 
Das ist im Prinzip kein Problem. Ich kann die Ergebnisse selbst abrufen. Numerische Ergebnisse
 
Vinin:
Im Prinzip ist das kein Problem. Ich kann die Ergebnisse selbst abrufen. Numerische Ergebnisse

Victor, gerade habe ich den Code aufgeräumt, wie eine Wohnung nach der Renovierung, ich habe eine Menge Müll entfernt, wie unnötige Bedingungen, unnötige Normalisierungen, die Logik korrigiert, die Anzahl der verwendeten Funktionen reduziert. Alexey(alsu) hat mir mit seinen Ratschlägen sehr geholfen, und dafür bin ich ihm sehr dankbar. Im Ergebnis war der 4 Monate dauernde Lauf im Testgerät etwas länger als 2 Minuten, und ich war damit zufrieden. Und die Funktionen von bool erwiesen sich als unnötig, da sie mir keinen Geschwindigkeitsvorteil brachten, aber sie verschafften mir einige Erfahrung im Umgang mit ihnen, die mir später noch nützlich sein wird.

Ich danke allen, die teilgenommen haben und wünsche allen viel Erfolg und gute Gewinne!