ruby-trunk-changes r29613 - r29620

今日は ObjectSpace や GC の機能追加でメモリ利用についての情報取得ができるようになっています。また正規表現Unicode 6 に対応したそうです。

nobu:r29613 2010-10-27 23:55:31 +0900

ruby-dev で話題にあがっていましたが、Ruby 1.9 では文字エンコーディングの変換は自前で持っているので iconv はもういらない子、ということで拡張ライブラリ iconv を require すると警告メッセージが出るようにされています。

ko1:r29614 2010-10-28 03:16:39 +0900

拡張ライブラリ objspace に ObjectSpace.total_memsize_of_all_objects が追加されています。また ObjectSpace.memsize_of というのが元々あって、このドキュメントが少し修正されています。ちょっと前に T_DATA 型のオブジェクトには利用しているメモリサイズを報告する関数ポインタを持たせるように定義が拡張されていて、それに対応しているオブジェクトは利用中のメモリサイズが分かるようになっています。それを Ruby レベルで取得できるようにしています。

svn:r29615 2010-10-28 03:16:46 +0900

version.h の日付変更。

ko1:r29616 2010-10-28 04:02:24 +0900

GC.stat が追加されています。GC.stat は GC の回数、GC の内部実装の情報など統計情報を Hash で返します。メモリの使用状況や GC 負荷を測るのに役に立つでしょう。ただし GC の内部情報については処理系依存で、MRI でも将来的に変更になるかもしれないのでその点は注意が必要です。[ruby-dev:38607]

naruse:r29617 2010-10-28 13:53:57 +0900

WEBrick で扱える URI のサイズを 2083 バイトまでに拡張しています。これまでは 1024 バイトとしていたようです。これは http://support.microsoft.com/kb/208427 にあるように IE についての制限値のようです。[ruby-core:32924]

naruse:r29618 2010-10-28 14:30:16 +0900

r29617 についてのテストを修正しています。

naruse:r29619 2010-10-28 20:07:25 +0900

よく理解していませんが、正規表現Unicode のある範囲*1で正しくマッチしないのを修正している模様です。
[ruby-core:32931]

naruse:r29620 2010-10-28 20:14:05 +0900

MRI正規表現エンジンである鬼車を Unicode 6 に対応させているそうです。
[ruby-core:32923]

Unicode 6 は何が新しくなったのかなーとちょっと検索してみたら次のサイトがみつかりました。

http://unicode.org/versions/Unicode6.0.0/

……なるほど、たぶん絵文字が追加されたというあたりが目玉でしょうか。

*1:たぶんめったに使わない領域だと思います。Lepcha とか Phags-pa というチベットの言語? が割りあてられているような領域みたいです。きっと誤動作する範囲はもとずっと広いと思いますけど