When writing data to a file with write(2), what are the performance
options? It seems that if the data is one or more whole pages and is
aligned on a page boundary, that the user application expends fewer
cycles to write the data. Can someone explain some of the variations
on this theme? For example, are both the alignment and size
important, or is it just the alignment?
I have the understanding that there is a temp*aspect to the
performance gain because the performance improvement results from the
kernel playing games with the page map: while I/O is in progress the
page is in fact not in my address space any more. If I reference any
byte in the page of interest, I cause a page fault which effectively
nullifies the original performance gain. Am I correct, or is the gain
achieved some other way?
How much of this varies with the vendor? We seem to get a bigger gain
on our BSD systems. Is there something different about BSD, or should
we see the same thing on AT&T Unix too?
This is one of the few times I wish we had sources.$$
--
USPS: 3625 Del Amo Boulevard, Suite 370, Torrance, CA 90503
UBM2: MVS may be slow, but it _sure_ is hard to use.