On Mon, 13 Mar 2006 [EMAIL PROTECTED] wrote: > [snip aio API stuff] >After finding out about this api, I found out that at least mysql and >postgresql use it, so I am guessing that changing the sql engine to >generate batches of read/writes is possible. > >My guess is that using this api will increase performance a lot as the >hard drive heads won't have to go back and forth, seeking at random >places on the disk (thus reducing the impact of having small caches).
It would only be available for reads. Writes are written to the hard disk using fsync, which will allow the OS to order outstanding writes in whatever order it sees optimal. Reads must be done in order in general, as you must know what you want to read before trying to read it (think of trying to navigate a btree in parallel. You can't as you don't know which node to read in until you processed the current node) so you'll get little benefit in performance. The only other option to use AIO would be to traverse multiple btrees in parallel, such as when you have multiple cursors open in your query. But then you have potentially complicated the virtual machine. > >Nicolas > Christian -- /"\ \ / ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL X - AGAINST MS ATTACHMENTS / \