fprintf && write
- From
- Andrey Melnikov (2:5030/1340.116)
- To
- Serge Ryabchun ()
- Date
- 2003-06-03T18:15:06Z
- Area
- RU.UNIX.PROG
Hello Serge!
03 Jun 03 15:11, Serge Ryabchun wrote to Andrey Melnikov:
SR> From: Serge Ryabchun <sr@energy.uch.net>
>> Что-то у меня лыжи не едут совсем.
>> Беру софтину, которая всю свою разумную жизнь работала так:
>>
>> out = fdopen(out_fd, "w");
>> ....
>>
>> fprintf(out, "%s", buffer);
>> ....
>>
>> Выкидываю все эти fprintf() и заменяю на свою функцию:
>>
>> static char wr_buf[1024];
>> write_out (int fd, char *fmt, ...){
[skipp]
>> }
>>
>> И скорость падает в 2 (два) с лишним раза. Где я тут неправ ?
SR> Стоп, стоп, стоп. В select wfds модифицируется. IMHO, только первый
SR> раз ты получаеш правильный результат, а дальше отвал только по таймауту.
SR> Потому и падение скорости в 2 раза.
Нет ;)
SR> Попробуй FD_ZERO, FD_SET перенести в цикл.
Точно так-же.
PS: Правда там порядка 324 тысяч вызовов :) Но это не повод еще... так тормозить.
Andrey aka TEMHOTA-RIPN
--- GoldED+/LNX 1.1.4.7
* Origin: Powered by SlackWare Linux (2:5030/1340.116)