5

¿Existe una diferencia de rendimiento entre utilizar un bloque if con muchos otros si en comparación con un bloque de caja de conmutadores? ¿Algunos idiomas o convenciones de estilo prefieren uno por encima del otro?Si bloque vs Bloque de conmutador

Específicamente tengo curiosidad por Matlab, C y C++

+0

http://stackoverflow.com/questions/445067/if-vs-switch-speed – zod

+0

http://stackoverflow.com/questions/97987/switch-vs-if-else – zod

+1

Tal vez también debería preguntarle a este tipo de pregunta, para obtener un representante? A quién le importan los duplicados ... –

Respuesta

3

Un conmutador puede ser optimizado por el compilador, en algunos casos, en una tabla de búsqueda y bifurcación. Esto podría ser considerablemente más rápido que múltiples If/else-ifs.

1

En C, el optimizador puede encender un interruptor en un JMP calculada, por lo que puede ser más rápido. Esto es posible porque siempre enciendes una constante entera.