Если блок против блока Switch-Case - PullRequest
5 голосов
/ 14 октября 2010

Какова разница в производительности между использованием блока if со многими другими ifs по сравнению с блоком case переключения?Некоторые языки или стилевые соглашения предпочитают один другому?

В частности, мне интересно узнать о Matlab, C и C ++

Ответы [ 2 ]

3 голосов
/ 14 октября 2010

Коммутатор может оптимизировать переключение, в некоторых случаях, в справочную таблицу и ветвь.Это может быть значительно быстрее, чем несколько if / else-ifs.

1 голос
/ 14 октября 2010

В C оптимизатор может превратить переключатель в вычисленное значение jmp, чтобы он мог работать быстрее. Это возможно, потому что вы всегда включаете целочисленную константу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...