VB.NET Выберите Case Compiler Оптимизация?
-
25-09-2019 - |
Вопрос
Выборочно оптимизируйте компилятор VB.NET 2008 Selection Chate?
Например, оператор Select Case с достаточным количеством целочисленных случаев может быть организован как двоичный поиск.
Я спрашиваю это, потому что мне любопытно, следует ли выбрать случай выбора вместо того, чтобы операторы с несколькими другими, если есть целые числа или другие основные типы данных.
Решение
Select Case
С 40 вариантами более 10 раз быстрее, чем строка 40 ElseIf
заявления. Это большее улучшение, чем вы ожидаете получить с двоичным поиском. Я думаю, что простое целое число Select Case
Использует какой-то, что современный машинный код, эквивалентный вычисленному оператору GOTO, является - он компилируется так, что он напрямую ветвище к правильному «делу» на основе значения целого числа.
я думаю Select Case
тот, с которым нужно идти.
Другие советы
В целом, вы должны беспокоиться о чёмчивете и ремонструации кода и выше, а выше такого рода эффективности микрооптимизации.
Если этот переключатель не находится внутри цикла, который выполняется 1000 '(миллионы?) Времен, это очень маловероятно, что буксировка производительности вашего приложения.
Принять решение и придерживаться этого ради согласованности. В общем, не выполняйте функциональный код, пока вы не проанализированы, где есть ваши узкие места производительности.
Смотрите также этот вопрос.