Messages in this thread | | | Date | Sat, 11 Nov 2006 11:55:53 +0100 (MET) | From | Jan Engelhardt <> | Subject | Re: XFS filesystem performance drop in kernels 2.6.16+ |
| |
>> for (i = 0; i < 262144; i++) { >> /* Write data to a big file */ >> write (nFiles [0], buf, __BYTES); >> >> /* Write data to small files */ >> for (f = 1; f < __FILES; f++) >> write (nFiles [f], &f, sizeof (f)); >> } > >This sits in a loop doing write(fd, buf, 4). This is wildly inefficient - >you'd get a 10x throughput benefit and maybe 100x reduction in CPU cost >simply by switching to fwrite().
Well yes and no. The problem here is the syscall overhead. fwrite buffers things, so needless syscalls are avoided. The same could be done by changing the program logic and increasing the size argument to read/write.
>I suspect something went wrong here.
Design error. :)
-`J' -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |