On 08/14/2011 01:23 PM, Dion Kant wrote: > Forget > about the previous results, they will be wrong because of libgcc stream > buffering and I did not check how these buffers are actually written to > kernel space. libgcc uses writev to write out an array of buffers to kernel space
User bs Actual bs 1 8191 2 8192 4 8192 8 8192 16 8192 32 8192 64 8192 128 8192 256 8192 512 8192 1024 1024 2048 2048 4096 4096 8192 8192 Except for writing single user bytes, libgcc does a good job in gathering the data into buffers with an integral buffer size of 8192 bytes. From a user bs of 1024 and further, it sticks to this buffer size for writing the data to kernel space. So that explains the results I obtained with the write method of ofstream. For all cases the kernel is addressed with a buffer size which is an integral multiple of 4096 the performance is good. I think the one to less buffer size for the single byte case provides an option for improvement of libgcc. Dion -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/4e47bff5.70...@concero.nl