Niall Douglas wrote:
Really with async file i/o it's always more a question of control rather than performance. In the naïve case performance will usually be higher by going synchronous.
I might be misunderstanding you, so I will try harder to get on the same page. Even though English is the only language I know, I know it poorly. :-) Why would anyone interested in reviewing AFIO care about getting more performance by going synchronous? The reason they're interested in an asynchronous file I/O library is because they need asynchronous file I/O, right? Control over performance sounds great, but it's not control over performance if it comes at a cost of performance, right? [Example: I see the support of the C++ allocator model as something which can sometimes offer control over performance, but in no way does it make things any slower at runtime when the allocator supplied is std::allocator than if the code just used 'new' and 'delete'. --end example] I thought motivation to use your library would be one or more of: - Simplicity (makes it easier to write maintainable file I/O code) - Portability (saves me time from writing platform specific code) - Performance (it is faster than code I would write by hand) On simplicity: If someone does not care about portability, can they write smaller/cleaner/more-maintainable code if they choose to use AFIO versus using overlapped I/O with IOCPs or KAIO? Does it sacrifice any simplicity for portability? On performance: Is it faster or at least no slower than any other libraries? (e.g. libuv) Does it sacrifice any performance for portability? On portability: Does it entirely abstract away any platform specific issues? (e.g. Do you believe a user of AFIO will be required to write platform-specific code as in your examples?)
Now with the race free filesystem extensions [...] things have changed. If you were wanting to write portable code capable of working under a changing filesystem you get no choice but AFIO right now in any language (that I am aware of).
Does the documentation show (with examples) how AFIO helps here? Glen -- View this message in context: http://boost.2283326.n4.nabble.com/afio-AFIO-review-postponed-till-Monday-tp... Sent from the Boost - Dev mailing list archive at Nabble.com.