今日は標準添付ライブラリ net で IO.select のかわりに拡張ライブラリ io/wait で追加されるメソッドを利用するようにする変更がありました。
kazu: r50324 2015-04-16 00:00:20 +0900
r50303 の ChangeLog エントリのインデント修正。
svn: r50325 2015-04-16 00:01:18 +0900
version.h の日付更新。
normal: r50326 2015-04-16 05:11:23 +0900
標準添付ライブラリ net でソケットの読み書き可能になるのを待つところで IO.select ではなく拡張ライブラリ io/wait の IO#wait_readable と IO#wait_writable を利用するように書きかえています。 io/wait は Linux では ppoll(2) を利用しているため、開いている fd 数が多い時のメモリ確保量を抑えてパフォーマンスを向上するのが狙いということで、その効果が [ruby-core:35572] で報告されています。依存関係が……と思いましたが io/wait は Socket をサポートしている環境ではどこでもビルドできるとのことで。なるほど。
normal: r50327 2015-04-16 05:17:19 +0900
NEWS ファイルに r50263 での拡張ライブラリ io/wait の IO#wait_readable の EOF での挙動の変更について追記しています。
nobu: r50328 2015-04-16 17:29:21 +0900
Thread.new で例外発生させる時にメッセージに埋め込むクラス名を PRIsVALUE を利用することでエンコーディングを保持したまま埋め込むようにしています。