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)