Re: fprintf && write
- From
- Serge Ryabchun ()
- To
- Serge Ryabchun ()
- Date
- 2003-06-04T14:46:16Z
- Area
- RU.UNIX.PROG
From: Serge Ryabchun <sr@energy.uch.net>
Serge Ryabchun <sr@energy.uch.net> wrote:
>
> char str[ 1024];
> memset( str, ' ', 1024); str[ 1022] = '\n'; str[ 1023] = 0;
>
> for( i = 0; i < 324000 * 100; i++) write( 1, str, 1024);
>
> [sr@serge write]$ time ./write 1> /dev/null
> 6.96user 7.74system 0:15.31elapsed 96%CPU (0avgtext+0avgdata 0maxresident)k
> 0inputs+0outputs (71major+10minor)pagefaults 0swaps
>
> for( i = 0; i < 324000 * 100; i++) puts( str);
>
> [sr@serge write]$ time ./puts 1> /dev/null
> 85.37user 2.84system 1:30.59elapsed 97%CPU (0avgtext+0avgdata 0maxresident)k
> 0inputs+0outputs (81major+12minor)pagefaults 0swaps
>
> В простейшем случае write куда лучше. BTW, сам syscall очень дешевый,
> примитивный getpid() перед write практически не изменил результат.
Про дешевизну беру свои слова обратно, getpid() + write():
13.67user 13.72system 0:28.51elapsed 96%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (71major+10minor)pagefaults 0swaps
--
Serge Ryabchun sr@energy.uch.net
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)