Простое чтение и запись сравнительного вопроса производительности производительности булевых переменных - PullRequest
2 голосов
/ 18 ноября 2009

Какой должен быть предпочтительный способ программистов:

1) Только запись:

SomeBoolean = True

2) Читайте, но пишите только при необходимости

If Not SomeBoolean Then SomeBoolean = True

Ответы [ 4 ]

2 голосов
/ 18 ноября 2009

Очень сложно узнать ответ, не зная больше об окружающей среде. Кажется, разумной проверкой было бы запустить некоторые тесты производительности, многократно повторяя эту задачу.

Эмпирические данные иногда удивляют по сравнению с тем, что вы ожидаете.

0 голосов
/ 19 ноября 2009

1) будет возможно на несколько наносекунд быстрее. Я подозреваю, что по сравнению с другими вещами, происходящими в вашем коде, это различие является наноскопическим.

С другой стороны, я обычно пишу (2), если я могу захотеть сделать что-то еще, когда я знаю, что на самом деле изменяю логическое значение. Это дает мне место для этого.

0 голосов
/ 18 ноября 2009

Разница незначительная. Вы увидите разницу в производительности при чтении и записи файлов на диск, но производительность программы измеряется в больших O. Чтение:

БОЛЬШОЕ обозначение O

Особенно в VB вы не увидите разницу.

0 голосов
/ 18 ноября 2009

Предполагается, что вы ссылаетесь на контекст RUNTIME и общую переменную:

В многопроцессорной среде ненужные записи могут привести к снижению производительности: очистка кэша, синхронизация и т. Д.

Так что ДА, это может иметь значение ... получить профилирование , если ситуация поддается ему.

...