freebsd-dev/bin/cp
Ivan Voras e9cbc9a770 Teach cat(1) and cp(1) to use a larger buffer if enough memory is present
in the system. A simple heuristics is used to detect what is "enough"
memory: if number of physmem pages is greater than 32k (equalling 128 MB
on machines with 4 kB pages).

Typical immediate result of these changes is reduction in context switches
and the goal is to increase efficiency by using large buffers:
before: /usr/bin/time -hlp cat file1 > file2
...
       163  voluntary context switches
     11194  involuntary context switches
after: /usr/bin/time -hlp ./cat file1 > file2
...
       417  voluntary context switches
       272  involuntary context switches

Reviewed by:    hackers@ (no objections to earlier version of cat patch)
Approved by:    gnn (mentor)
MFC after:      4 months
2008-10-30 14:05:57 +00:00
..
cp.1 Add an '-a' option which is identical to specifying '-RpP' for 2008-03-10 19:58:41 +00:00
cp.c Add an '-a' option which is identical to specifying '-RpP' for 2008-03-10 19:58:41 +00:00
extern.h Add an option to allow copying of a hierarchy while linking he regular files. 2006-08-24 20:45:38 +00:00
Makefile
utils.c Teach cat(1) and cp(1) to use a larger buffer if enough memory is present 2008-10-30 14:05:57 +00:00