Re[16]: using Statement и отложенная инициализация
От: amx3000 Россия  
Дата: 30.12.08 09:57
Оценка:
Здравствуйте, _FRED_, Вы писали:

_FR>>>Ты же сам сообщением выше призывал всюду юзингом пользоваться!?

A>>Где это я "призывал всюду юзингом пользоваться"? Просмотрел свои сообщения еще раз — не нашел никаких призывов.
_FR>

_FR>_Лично_я_ считаю, что вне блока using объект, в нем используемый, жить не должен. У него и область видимости-то должна быть ограничена этим блоком. Тогда using четко указывает область жизнь и использования объекта. На мой взгляд, это способствует простоте и понятности кода.


Хм. Специально выделенные слова "лично я" — это призыв всюду пользоваться using'ом? Был уверен, что это описание того, как _лично_я_ считаю правильным делать.

_FR>О том, что речь в этих словах идёт о каком-то конкретном юз-кейсе, а не о любом IDisposable-объекте мне, например, было не ясно :xz:


Постараюсь в будущем более четко формулировать свои мысли.
Кстати, когда я там предложил напрямую вызывать Dispose вместо using'а (который я якобы призывал использовать везде), тебя не насторожила такая непоследовательность? :)

A>>Понял, спасибо. Правда, есть сомнения в целесообразности подобного (именно со стримом) — с точки зрения производительности. Думаю, ненужная работа со пустым стримом может в некоторых случаях занять ощутимое время.


_FR>Например?


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

_FR>за счёт чего получится "ощутмость"?


За счет вызовов методов, которые ничего не делают. Понятно, что вызов метода это копеечные накладные расходы в общем случае. Но на фоне нулевых затрат времени и ресурсов на работу самого метода расходы на вызов этого метода все же не нулевые, особенно если метод виртуальный. А то, что мало, но не равно нулю, при "умелом" использовании вполне реально многократно увеличить до статистически значимых величин.

Это я не в плане поспорить, что эти копеечные затраты важны, и надо за них биться насмерть любыми способами, а в целях объяснения, за счет чего может получиться "ощутимость". То, что в большинстве случаев про это можно не думать, не означает, что про это думать не следует вообще. Иногда это может быть критично. Иногда.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.