Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The result of that experiment however was mostly that the thread pool solution was simpler to code (I guess).

and uniformly asynchronous (native async operations may not cover e.g. file copy or filesystem operations, furthermore filesystems may block during submission of IO ops which makes the operations effectively synchronous) and have higher throughput (they support read/write vectors).



We could use the thread pool for blocking primitives and otherwise use the native AIO primitives, couldn't we?

And the higher throughput seemed only to be a problem on MacOSX, so we could fallback to the thread pool there, but use the async IO on Windows and Linux.


I thought that's basically what libuv does: it uses AIO on platforms that support it, falling back to thread pool on platforms that don't.

Edit: apparently I was wrong.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: