cmp(1) has a bottleneck, but where?
Adrian Chadd
adrian at freebsd.org
Tue Jan 3 11:00:43 UTC 2012
On 3 January 2012 00:34, Marc Olzheim <marcolz at stack.nl> wrote:
> On Tue, Jan 03, 2012 at 12:21:10AM -0800, Garrett Cooper wrote:
>> The file is 3.0GB in size. Look at all those page faults though!
>> Thanks!
>> -Garrett
>
> From usr.bin/cmp/c_regular.c:
>
> #define MMAP_CHUNK (8*1024*1024)
> ...
> for (..) {
> mmap() chunk of size MMAP_CHUNK.
> compare
> munmap()k
> }
>
> That 8 MB chunk size sounds like a bad plan to me. I can imagine
> something needed to be done to compare files larger than X GB on a 32bit
> system, but 8MB is pretty small...
Er, hint: look at the average IO size in the cmp versus cp stats above?
Something/somehow it's issuing smaller IOs when using mmap?
Adrian
More information about the freebsd-performance
mailing list