Switch
Publicado por hadock (4 intervenciones) el 07/11/2008 15:13:20
Buenas,
Estoy tratando de mejorar el rendimiento de una aplicación. Me preguntaba si el orden de los case de un switch puede afectar en el tiempo empleado por la aplicación. Por poner un ejemplo:
switch (n)
{
case 1 : printf("Hola %d ",n);break;
case 2: printf("Hola %d ",n);break;
case 3: printf("Hola %d ",n);break;
case 4: printf("Hola %d ",n);break;
case 5: printf("Hola %d ",n);break;
default: printf("Error ");
}
Si se que n es igual a 5 el %90 de los casos ganaré tiempo haciendo esto?
switch (n)
{
case 5: printf("Hola %d ",n);break;
case 1 : printf("Hola %d ",n);break;
case 2: printf("Hola %d ",n);break;
case 3: printf("Hola %d ",n);break;
case 4: printf("Hola %d ",n);break;
default: printf("Error ");
}
El tema es saber si el compilador crea una estructura if-else a partir de un switch o va directamente a una opción o al default. He leído por ahi que depende del compilador pero no se...
Alguien me puede ayudar?
Un saludo y muchas gracias.
Estoy tratando de mejorar el rendimiento de una aplicación. Me preguntaba si el orden de los case de un switch puede afectar en el tiempo empleado por la aplicación. Por poner un ejemplo:
switch (n)
{
case 1 : printf("Hola %d ",n);break;
case 2: printf("Hola %d ",n);break;
case 3: printf("Hola %d ",n);break;
case 4: printf("Hola %d ",n);break;
case 5: printf("Hola %d ",n);break;
default: printf("Error ");
}
Si se que n es igual a 5 el %90 de los casos ganaré tiempo haciendo esto?
switch (n)
{
case 5: printf("Hola %d ",n);break;
case 1 : printf("Hola %d ",n);break;
case 2: printf("Hola %d ",n);break;
case 3: printf("Hola %d ",n);break;
case 4: printf("Hola %d ",n);break;
default: printf("Error ");
}
El tema es saber si el compilador crea una estructura if-else a partir de un switch o va directamente a una opción o al default. He leído por ahi que depende del compilador pero no se...
Alguien me puede ayudar?
Un saludo y muchas gracias.
Valora esta pregunta


0