Est-il possible d'éviter de nombreux "ou" (||) dans les conditions entraînant la même action ? - page 10

 
borilunad:
Cette question de la vitesse est ce qui m'a poussé à m'adresser aux estimés membres du forum, "comment éviter beaucoup de "ou" ...", car je croyais que cela provoquait une perte de temps. Et si certains sont amenés à entrer dans la polémique en raison de leurs ambitions, ou s'obstinent à promouvoir leurs développements, cela reste leur affaire personnelle, et ne me concerne pas. En tout cas, merci à tous ceux qui ont répondu ! Et je souhaite le succès à tous !
Apprenez d'abord à travailler avec votre cerveau, vous avez déjà appris à travailler avec la langue. Bonne chance !
 
TarasBY:
Apprenez d'abord à travailler avec votre cerveau, vous avez déjà appris à travailler avec votre langue. Bonne chance !
Il reste à regretter que votre culture, sans parler de l'éthique de base, ne se soit pas éloignée de votre idole historique Taras Bulba !
 
Si je comprends bien, il n'y aura pas de résultat. C'est dommage. Bien que cela ne prenne pas beaucoup de temps à faire (si nécessaire), de nombreuses options sont proposées
 
Vinin:
D'après ce que je comprends, il n'y aura pas de résultat. C'est dommage. Bien que cela ne prenne pas beaucoup de temps à faire (si nécessaire), de nombreuses options sont proposées

A la page précédente, j'ai rapporté le résultat préliminaire à Alexey (Viande) et mes explications, que je vous livre maintenant dans leur intégralité :

avatar
891
Viande 13.02.2013 20:36
borilunad:

J'ai testé toutes les suggestions et il s'avère que la plus rapide est : if (A || B || C || D) Action() ;

Je me demande comment cela pourrait être plus rapide que ceci : si (A) Action() ; sinon si (B) Action() ; sinon si (C) Action() ; sinon si (D) Action() ;


947
borilunad 13.02.2013 22:46
Laviande:

Je me demande comment cela pourrait être plus rapide que ceci : si (A) Action() ; sinon si (B) Action() ; sinon si (C) Action() ; sinon si (D) Action() ;

Désolé Alexei, je viens juste de rentrer à la maison ! Cette variante ne convient pas car, comme je l'ai expliqué plus haut, Acron() ; n'est pas seulement une fonction d'exécution, mais contient plusieurs autres conditions, communes aux précédentes, mais de sens différent, et, par conséquent, dans un ordre différent d'exécution des fonctions d'action nécessaires. Comme vous le comprenez, je n'ai pas pu alourdir le code avec cette variante. Et en principe, je suis d'accord avec vous que votre version pourrait être plus rapide, si Action() ; n'était qu'un appel d'une fonction, rien de plus. Merci beaucoup de m'aider dans ma recherche de solutions optimales ! Bonne nuit à vous !
Je ne peux pas encore ajouter quoi que ce soit à cela, car les bool's n'ont pas donné de coupure de temps, et je suis actuellement en train de vérifier toutes les fonctions que j'utilise, et, comme vous pouvez l'imaginer, cela prend beaucoup de temps pour le faire. Merci de votre attention !
 
En principe, ce n'est pas un problème. Je peux obtenir les résultats moi-même. Résultats numériques
 
Vinin:
En principe, ce n'est pas un problème. Je peux obtenir les résultats moi-même. Résultats numériques

Victor, à l'instant, j'ai fini de nettoyer le code, comme des appartements après une rénovation, j'ai nettoyé beaucoup de déchets, comme des conditions inutiles, des normalisations inutiles, j'ai corrigé la logique, réduit le nombre de fonctions utilisées. Alexey(alsu) m'a beaucoup aidé par ses conseils, et je lui en suis reconnaissant. En conséquence, la course de 4 mois dans le testeur était un peu plus de 2 minutes, et j'en étais satisfait. Et les fonctions de bool se sont avérées inutiles, car elles ne m'ont apporté aucun avantage en termes de vitesse, mais elles m'ont permis d'acquérir une certaine expérience de travail avec elles, qui me sera utile plus tard.

Je remercie tous ceux qui ont participé et souhaite à tous succès et bons profits !