Am 01.09.2011, 22:38 Uhr, schrieb Jonathan M Davis <[email protected]>:

I would point out that regardless of what happens with performance with
synchronous vs asynchronous I/O on a single HDD, it's pretty much a guarantee that in the general case asynchronous I/O is going to be faster when dealing
with different HDDs. So, while we should definitely get hard data, unless
copying asynchronously on a single hard drive is significantly worse than
copying synchronously, then it's pretty much a given that we'd want to go with
asynchronous I/O by default. If it were found that asynchronous I/O was
significantly better on a single HDD, then that makes the question much more
interesting, but as long as it's at least close - if not better - than
synchronous I/O on the same HDD, then asynchronous I/O would be the way to go.

- Jonathan M Davis

I guess you are right. Neither mine nor Andrei's expectations were met. I/O from multiple threads to a single device is handled remarkably well on today's systems. While it looked to me and others on the net like a no-go, we see no major difference in the performance of both approaches with typical buffer sizes and Phobos routines. If you want to go for the extra 5% in some cases you can go for that 100 MB buffer, OS specific functions and file usage hints, but that's never good for a standard library routine that is meant to be short, solid and portable.

Reply via email to