Re: fprintf && write

From
Lev Walkin ()
To
Andrey Melnikov ()
Date
2003-06-06T14:12:52Z
Area
RU.UNIX.PROG
From: Lev Walkin <vlm@netli.com>


Andrey Melnikov wrote:
>                                Hello Valentin!
> 
>  06 Jun 03 01:09, Valentin Nechayev wrote to Andrey Melnikov:
>  VN> From: Valentin Nechayev <netch@segfault.kiev.ua>
> 
> 
>  >>>> Andrey Melnikov wrote:
> 
>  LW>>> Что это за бред? Процедура отрезания куска стека НЕ занимает
>  LW>>> дополнительного времени. Процедура подчистки стека НЕ занимает
>  LW>>> дополнительного времени.
>  AM>>     Только за счет того, что gcc не использует пару enter/leave.
>  VN> А использовал бы - время бы терялось? ;)))))
>     пара enter/leave - получилась ужастно дорогая :) Поэтому никто не стал ее
> пользовать.

Как различается скорость исполнения функции с enter/leave, у которой
есть одна локальная переменная, от функции с enter/leave, у которой
килобайт локальных переменных на стеке?

>  AM>> Но как только
>  AM>> я захочу заливать этот буфер нулями при создании - мне там нарисуют
>  AM>> кучу кода, который на мои 324 тысячи вызовов будет уже довольно дорог.
> 
>  VN> Зачем тебе чистить буфер?
>     Незачем.  Это был простейший пример.

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

>  VN> А если локальные переменные надо устанавливать в какое-то значение,
>  VN> то от этого никуда не денешься.

Точно, как-будто логика работы может требовать установку локальных
переменных в какое-то определенное значение, с последующим их
спользованием, и, одновременно с этим, позволять не рецинициализировать
глобальные буфера.


-- 
Lev Walkin
vlm@netli.com

--- ifmail v.2.15dev5
 * Origin: Netli, Inc. (2:5020/400)