On Feb 22, 2013, at 1:39 PM, Jeff Morriss <[email protected]> wrote:
> Basically you're proposing building one bigger buffer for writing rather than > doing several smaller writes? > > My experience would say no: memcpy()s should be avoided whenever possible. > Admittedly my experience does not include a lot of file I/O but I would > think/hope the OS would do a good job of buffering smaller writes into larger > I/Os. If standard I/O (FILE *'s) is being used, doing extra copies into a buffer and a single fwrite() will probably hurt rather than helping, as standard I/O does the buffering in userland, so the copies into a buffer (which is probably somewhere between 4K and 8K in size, but may be larger) are already being done by fwrite(). We're using standard I/O in that code path. If write() were being used directly, doing extra copies into the buffer and a single write() *might* help, as, while there is buffering being done in the kernel, you would be making more system calls with multiple write()s. (That's one reason for the standard I/O library - it does that buffering for you.) ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
