5

Allgemein gibt es einen Leistungsunterschied zwischen der Verwendung eines If-Block mit vielen anderen Ifs im Vergleich zu einem Schalter Fall blockieren? Sind einige Sprachen oder Stilkonventionen bevorzugt?Wenn Block vs Switch-Case-Block

Insbesondere bin ich neugierig zu wissen, Matlab, C und C++

+0

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

+0

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

+1

Vielleicht sollte ich auch diese Art fragen von der Frage, um etwas rep zu bekommen? Wer kümmert sich um Duplikate ... –

Antwort

3

Ein Switch kann vom Compiler in einigen Fällen in eine Nachschlagetabelle und Verzweigung optimiert werden. Dies könnte erheblich schneller sein als mehrere if/else-ifs.

1

In C, der Optimierer einen Schalter in einem berechneten jmp drehen kann, so dass es schneller sein kann. Dies ist möglich, weil Sie immer eine Integer-Konstante einschalten.