Re: [ANN] kgio library / RubyGem
2010/9/28 Eric Wong normalper...@yhbt.net: I've released kgio, a kinder, gentler I/O library for Ruby. Some of its features are useful for Unicorn, and all of it is useful for Rainbows! I intend to make kgio a requirement for both Unicorn and Rainbows!/Zbatery. I'm comfortable with the code, but extra testers and extra eyes to review it would be helpful (it's nearly all C). Very interesting project :) A typo in the doc: - kgio_wait_readable() Blocks the running Thread indefinitely until self IO object is writable - Should be readable, right? :) -- Iñaki Baz Castillo i...@aliax.net ___ Unicorn mailing list - mongrel-unicorn@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying
Re: [ANN] kgio library / RubyGem
Iñaki Baz Castillo i...@aliax.net wrote: A typo in the doc: - kgio_wait_readable() Blocks the running Thread indefinitely until self IO object is writable - Should be readable, right? :) Fixed, thanks! -- Eric Wong ___ Unicorn mailing list - mongrel-unicorn@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying
Re: [ANN] kgio library / RubyGem
Eric Wong normalper...@yhbt.net wrote: Hello all, I've released kgio, a kinder, gentler I/O library for Ruby. Some of its features are useful for Unicorn, and all of it is useful for Rainbows! OK, it's got a separate mailing list at k...@librelist.com, now. Apparently it's garnered some attention and dalli[1] is one of the first projects to start using it. Homepage and git repository locations remain the same: http://unicorn.bogomips.org/kgio/ git://git.bogomips.org/kgio.git http://git.bogomips.org/cgit/kgio.git [1] - git://github.com/mperham/dalli -- Eric Wong ___ Unicorn mailing list - mongrel-unicorn@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying
[ANN] kgio library / RubyGem
Hello all, I've released kgio, a kinder, gentler I/O library for Ruby. Some of its features are useful for Unicorn, and all of it is useful for Rainbows! I intend to make kgio a requirement for both Unicorn and Rainbows!/Zbatery. I'm comfortable with the code, but extra testers and extra eyes to review it would be helpful (it's nearly all C). There were several factors leading the creation of this library: 1. The performance loss from Ruby 1.9.2 due to extending exceptions with IO::Wait{Read,Writ}able is annoying. While it's partly fixed[1] and fixable[2] for 1.9.3, it could be a while before 1.9.3 is available. Unicorn currently does non-blocking accept very aggressively. 2. (Rainbows! only) Slicing partially written strings for non-blocking I/O in gets painful with Ruby 1.9, it's much easier (at least for me) to do this in C and kgio_trywrite allows exactly that, returning the unwritten portion of a string. 3. (Rainbows! only) It offers hooks for using alternative methods to switch execution contexts (experience taken from building the FiberSpawn/FiberPool modules). 4. (philosophical) I've never considered EAGAIN/EINPROGRESS exceptional conditions when explicitly doing non-blocking I/O, and thus unworthy of raising exceptions. kgio currently passes all tests on on Linux 2.6 (1.9.{1,2}, 1.8.{6,7}, rbx 1.1) and FreeBSD 7.0 (1.8.7). http://unicorn.bogomips.org/kgio/ git://git.bogomips.org/kgio.git http://git.bogomips.org/cgit/kgio.git [1] - http://thread.gmane.org/gmane.comp.lang.ruby.core/30854 [2] - http://thread.gmane.org/gmane.comp.lang.ruby.core/31801 -- Eric Wong ___ Unicorn mailing list - mongrel-unicorn@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying