Тестируйте здесь: http://jsperf.com/test-for-speed-of-various-conditionals
Мне интересно, получают ли другие те же результаты, и что люди могут подумать о том, почему результаты различаются (особенно в Safari) в разных браузерах.Интересно то, как демократически Firefox обрабатывает различные случаи.
Пожалуйста, сообщите, если что-то ужасно неправильно с моей методологией:)
Firefox 3.6 / Mac OSX 10.64: Switch = 824 352 Ops / sec (14% медленнее)
Если / иначе = 530,062 (44% медленнее, медленнее)
Хэш / ленивый = 968,035 (самый быстрый)
Хэш / если / еще = 963,765 (0% медленнее)
Chrome 6.0.472.63/Mac OSX 10.64:
Переключатель = 10 220 039 операций в секунду (на 62% медленнее)
Если / иначе = 7 744 284 (на 71% медленнее, медленнее)
Хэш / ленивость = 27 130 039 (быстрее всего)
Хэш / если / еще = 25 297 370 (на 6% медленнее)
Safari 5.0.2 / Mac OSX 10.64:
Переключатель = 15 044 132 об / с (сек.)
Если / еще = 1 793 051 (88% медленнее, медленнее)
хэш / ленивый = 10 381 941 (30% медленнее)
хэш / если / еще = 11 119 576 (26% медленнее)
Opera 10.10 / Mac OSX 10.64:
Переключатель = 497 238 операций в секунду (на 32% медленнее)
Если / иначе = 250 904 (на 66% медленнее, медленнее)
Хэш / ленивый = 740 520 (самый быстрый)
Хэш / если / еще = 634 424 (14%Sниже)
MSIE 8.0 / Windows NT:
Переключатель = 176,267 операций в секунду (60% медленнее)
Если / иначе = 124,783 (72% медленнее, медленнее)
Хэш / ленивый =447 421 (самый быстрый)
Хэш / если / еще = 442 736 (14% медленнее)