> :extend (using truncate) and then mmap() the destination file, then
> :read() directly into the mmap()'d portion.
> :
> :I'd like to see what numbers you get. :)
> read + write is a better way to do it. It is still possible to
> double buffer. In this case simply create a small anonymous shared
> mmap that fits in the L2 cache (like 128K), setup a pipe, fork, and
> have one process read() from the source while the other write()s to the
> destination. The added overhead is actually less then 'one buffer copy'
> worth if the added buffering fits in the L1 or L2 cache.
It seems silly to implement something as trivial and straightforward as
copying a file in userland. The process designated to copy a file just
sits in a tight loop invoking the read()/write() syscalls
repeatedly. Since this operation is already system bound and very simple,
what's the arguement against absorbing it into the kernel?
-MB
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message