¿Es posible evitar muchas "ores" (||) en las condiciones que provocan la misma acción? - página 9

 
borilunad:
Gracias. ¡Voy a probar esos soportes ahora!
Esta opción me redujo medio minuto. Y en general, el tiempo puede haber aumentado debido a algunos cambios en el algoritmo. No hay tiempo para comprobarlo a fondo ahora, ¡lo comprobaré más tarde y lo buscaré! Gracias.
 
Vinin:

Pero hay que comprobar todas las opciones que ofrece. De lo contrario, podría cometer un error.
Me aseguraré de comprobarlo. Soy el primer interesado.
 
PapaYozh:

Para evitar que las advertencias le entorpezcan la vista, utilice {}: {}

if (!A && !B && !C && !D) {} //пустой оператор
else Action();


Es como rascarse la nuca con un tacón :) ¿Por qué cuatro operaciones adicionales y una línea superflua? Porque la versión original tenía este aspecto:

if (A || B || C || D) Action();
Y es especialmente divertido que el iniciador del tema haya elegido tu variante de entre todas las ofrecidas ))
 
Meat:


Es como rascarme la nuca con un tacón :) ¿Por qué 4 operaciones adicionales y una línea más? Después de todo, la versión original tenía este aspecto:

Y es especialmente divertido que el iniciador del tema haya elegido tu variante de entre todas las ofrecidas ))

Probé todas las opciones propuestas, y resultó que la más rápida es esta: si (A || B || C || D) Action();

Para reducir el tiempo, hice algunas condiciones, que se necesitan muy raramente, pero en otro bloque, e incluso añadí uno más, pero sin bool's, que añadiría tiempo. Sigo escarbando en todo lo posible, buscando simplificaciones justificadas, hasta ahora en la demo funciona estable y sin errores. El hilo está abierto, seguramente compartiré algo interesante o poco claro. Gracias a todos.

 
borilunad:

He probado todas las variantes sugeridas, y resulta que la más rápida es ésta: if (A || B || C || D) Action();

Me pregunto cómo podría ser más rápido que esto: si (A) Acción(); si (B) Acción(); si (C) Acción(); si (D) Acción();

 
Meat:

Me pregunto cómo podría ser más rápido que esto: si (A) Acción(); si (B) Acción(); si (C) Acción(); si (D) Acción();

Lo siento, Alexey, ¡acabo de llegar a casa! Esta versión no encaja, porque, como he explicado anteriormente, Acron(); no es sólo una función de ejecución, sino que contiene varias condiciones más, comunes para las anteriores, pero diferentes en dirección, y, en consecuencia, en orden diferente de ejecución de las acciones necesarias. Como comprenderás, no pude hacer el código más pesado con esta variante. Y en principio estoy de acuerdo contigo en que tu versión podría ser más rápida, si Action(); fuera sólo una llamada a una función, nada más. ¡Muchas gracias por la ayuda en mi búsqueda de soluciones óptimas! ¡Buenas noches!
 
borilunad:
Lo siento, Alexey, ¡acaba de llegar a casa! Esta variante no es adecuada, ya que, como he explicado anteriormente, Acron(); no es sólo una función de ejecución, sino que contiene varias condiciones más, comunes a las anteriores, pero diferentes en dirección, y, en consecuencia, en orden diferente de ejecución de las funciones de acción necesarias. Como comprenderás, no pude hacer el código más pesado con esta variante. Y en principio estoy de acuerdo contigo en que tu versión podría ser más rápida, si Action(); fuera sólo una llamada a una función, nada más. ¡Muchas gracias por la ayuda en mi búsqueda de soluciones óptimas! ¡Buenas noches!
El resultado, como era de esperar, es de la categoría: ¡¡¡El champú se volvió aún más anticaspa!!! :)))
 
TarasBY:
El resultado, como era de esperar, es del tipo "¡¡¡el champú se ha vuelto aún más anticaspa!!!". :)))
Si asocia la caspa en el pelo con los bichos en el código, entonces sí que debe esperar, esperar, conseguir, buscar soluciones interesantes, ¡pero no salir en estampida!
 
borilunad:
Si asocia la caspa en el pelo con los bichos en el código, por supuesto que debe esperar, esperar, conseguir, buscar soluciones interesantes, pero no salir en estampida.

¿Y llamas a este proceso (de 9 páginas) "encontrar soluciones interesantes"? :)))

En la 1ª página - era una ayuda sobre "ayuda", y después de la 2ª página había un interés - "cuál es la forma más rápida". PERO la respuesta a esta pregunta supone contener cifras (ya no mencioné la "pureza del experimento" - son condiciones que aseguran la adecuación de los resultados obtenidos)... Por lo demás - ¡sobre el "champú"! :)))

 
TarasBY:

¿Y llamas a este proceso (de 9 páginas) "encontrar soluciones interesantes"? :)))

En la 1ª página - era una ayuda sobre "ayuda", y después de la 2ª página había un interés - "cuál es la forma más rápida". PERO la respuesta a esta pregunta supone contener cifras (ya no mencioné la "pureza del experimento" - son condiciones que aseguran la adecuación de los resultados obtenidos)... :)))

Esta cuestión de la velocidad es lo que me movió a dirigirme a los estimados miembros del foro, "cómo evitar un montón de "o"...", ya que se cree que provoca una pérdida de tiempo. Y si algunos se sienten movidos a entrar en polémicas por sus ambiciones, o promueven persistentemente sus desarrollos, sigue siendo su asunto personal, y no me concierne. En cualquier caso, ¡gracias a todos los que han respondido! ¡Les deseo éxito a todos!