Hi Ben,

Would it make sense to use AIO if filesystem supports it? How faster it would 
be? Did somebody run any benchmarks?


I don't know what Windows is (sorry, just trolling), but Linux have a lot of 
filesystems and it's open. If just one filesystem supports AIO and work with 
node.js much better, other will follow. If something silently fall back to sync 
IO, file a bugreport against it, it's as simple as this.


Somebody could even write a npm package that does AIO for a specified 
filesystem. So, anything come up to one question: is it worth it? Any 
benchmarks?


-- 
// alex

29.11.2012, 06:41, "Ben Noordhuis" <[email protected]>:
> On Thu, Nov 29, 2012 at 2:43 AM, Tolga Tekin <[email protected]> wrote:
>
>>  Actually that is not completely true - Both Windows and MacOSX's native file
>>  APIs support async file operations.
>>  The limitation might be coming from linux posix api.
>
> I'm aware of them but neither are really usable.
>
> Windows AIO only works with files opened in direct I/O mode, meaning
> you bypass the disk cache.  When a file system doesn't support AIO, it
> either raises an error (in which case you have to fall back to
> user-space threads) or silently (!) switches to synchronous I/O.
>
> OS X AIO is implemented with kernel threads but the default settings
> are way too low to do anything useful, you have to tweak a bunch of
> sysctls first.  FreeBSD has similar issues (the implementations are
> very similar) and you need to manually load a kernel module first,
> otherwise everything fails with ENOSYS.
>
> Native Linux AIO has the same issues as Windows.  glibc's POSIX AIO
> implementation doesn't even bother with it, it always uses user-space
> threads.
>
> The only operating system I know of that has a remotely usable
> implementation is Solaris and who uses that?
>
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines: 
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to