Re[5]: Разработка на чистом C
От: lpd Черногория  
Дата: 31.10.16 10:48
Оценка: 8 (1)
Здравствуйте, _NN_, Вы писали:

_NN>Здравствуйте, Pavel Dvorkin, Вы писали:


PD>>Компилировать в Debug. Для Release Error code time будет просто 0, так как компилятор выкинет весь этот код с вызовом функции. Выкинуть код с исключением он не может.


PD>>Так что не надо заявлять, что обработка исключений столь уже дешева. Это все же вызов ядра (throw в VC++ вызывает RaiseException)

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

_NN>А теперь сравним именно такой код:


_NN> ...

_NN>Получаем разницу 15ms/10*1000*1000 = 1.5ns.
_NN>Не так много учитывая упрощение кода.

Пример абсолютно бессмысленный т.к. count всегда >0.

Чистый C применяется только в ядре,где нужно работать с оборудованием и C++ только мешает, и в коде embedded устройств. Последние нередко real-time и задержки на обработку исключений составляют существенную проблему и недопустимы.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.