4 ms·
Actually, there is quite a context here. IOCP had been a headache for quite a while for Unix programmers. Two examples: - libevent 2.0 was created exactly to s
by majke 11y ago
Actually, there is quite a context here. IOCP had been a headache for quite a while for Unix programmers. Two examples:
- libevent 2.0 was created exactly to support IOCP https://blog.torproject.org/blog/some-notes-progress-iocp-and-libevent https://blog.torproject.org/blog/some-notes-progress-iocp-an...
- apache 2.0 again, was created to support windows threading model and IOCP
- this particular article was in the context of libev not supporting IOCP, which was needed for decent node.js performance on windows: https://nodejs.org/codeconf.pdf https://nodejs.org/codeconf.pdf
(correct me if I'm wrong!)
- nitwit005 11y agoPorting unix applications that used select/poll/epoll in a performant way was a common enough problem that they added WSAPoll to make things easier: http://blogs.msdn.com/b/wndp/archive/2006/10/26/wsapoll.aspx http://blogs.msdn.com/b/wndp/archive/2006/10/26/wsapoll.aspx The biggest abstraction headache is usually nonblocking file IO and DNS lookups, as many OSes don't have any support. You have to have a thread pool fallback.
- deleted 11y ago[deleted]
- rough-sea 11y agocorrect - this was the original design doc for what became https://github.com/libuv/libuv https://github.com/libuv/libuv