5

Ogólnie jest różnica w wydajności między używaniem bloku if z wieloma innymi ifs w porównaniu do bloku obudowy przełącznika? Czy niektóre języki lub konwencje stylów preferują jedno nad drugim?Jeśli blok a blok-obudowa blokuje

Konkretnie jestem ciekaw Matlab, C i C++

+0

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

+0

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

+1

Może powinienem też zapytać tego rodzaju pytanie, aby uzyskać rep? Kogo obchodzi duplikaty ... –

Odpowiedz

3

Przełącznik może być zoptymalizowany przez kompilator, w niektórych przypadkach, do tabeli odnośników i gałęzi. Może to być znacznie szybsze niż wiele, jeśli/else-ifs.

1

W C, optymalizator może obrócić przełącznik do obliczonej JMP, więc może to być szybciej. Jest to możliwe, ponieważ zawsze włączasz stałą całkowitą.