fprintf && write
- From
- Andrey Melnikov (2:5030/1340.116)
- To
- Alexander Krisak ()
- Date
- 2003-06-01T19:58:06Z
- Area
- RU.UNIX.PROG
Hello Alexander!
01 Jun 03 18:24, Alexander Krisak wrote to Andrey Melnikov:
AK> Hello, Andrey Melnikov
>> >> Что-то у меня лыжи не едут совсем.
>> >> Беру софтину, которая всю свою разумную жизнь работала так:
AK> [skip]
>> >> И скорость падает в 2 (два) с лишним раза. Где я тут неправ ?
>>
>> AK> man fopen() и все прочее на предмет буферизации выводимых данных.
>> AK> в частности man setbuf и setvbuf.
>> Читал, читал. Всеравно, если в варианте с fprintf() сказать
>> setvbuf(out, (char *)NULL, _IONBF, 0); - картина не меняется. Хоть и
>> софтина честно пишет по одному байтику.
AK> а если выкинуть select()?
Помогает. Скорость выровнялась. Но, зато пропала сама возможность узнать - а записались ли туда эти самые надцать байт в течении надцати секунд.
А городить огород из alarm(timeout); fprintf(..); alarm(0); и setjmp() - некрасиво.
Andrey aka TEMHOTA-RIPN
--- GoldED+/LNX 1.1.4.7
* Origin: Powered by SlackWare Linux (2:5030/1340.116)