ruby-trunk-changes r36356 - r36366

今日は拡張ライブラリ zlib に Streaming API サポートが追加されています。サイズの大きなデータをメモリ効率良く圧縮/解凍できます。

drbrain:r36356 2012-07-11 03:28:40 +0900

拡張ライブラリ zlib の Zlib::Inflate と Zlib::Deflate にブロックを渡して streaming で少しずつ解凍/圧縮データを受け取れる機能を追加しています。 [ruby-core:45724] [Feature #6612]
今度はバッファが足りなくなって拡張する時に rb_thread_call_with_gvl() つきで処理を呼ぶようになっています。
参考URL: http://blog.segment7.net/2012/07/10/streaming-zlib-processing-for-ruby

svn:r36357 2012-07-11 03:28:45 +0900

version.h の日付更新。

usa:r36358 2012-07-11 09:23:34 +0900

ChangeLogtypo を修正しています。

nobu:r36359 2012-07-11 10:16:41 +0900

昨日 include/ruby/thread.h を追加したので include/ruby.h に HAVE_RUBY_THREAD_H 定数マクロの定義を追加しています。

nobu:r36361 2012-07-11 12:17:35 +0900

rb_thread_call_without_gvl() を使うようにリファクタリングした時の警告の除去のために void * を一旦 VALUE にキャストして使うようにしています。ついでに関係ないところの警告除去も入ってるような気もします。

yugui:r36362 2012-07-11 12:25:16 +0900

ruby を別のプログラム内に埋め込む用に r36079 で起動処理などをリファクタリングしたものを一部 revert しています。まず ruby_opaque_t という void * みたいなやつのかわりに使う型の定義は削除しています。また ISeq の内部表現を使ってスクリプトコンパイルしてその結果を実行という使いかたができる API を削除しています。あまり追えてないのですが、スクリプト片を与えてそれを実行する方法があればいいだろうというような議論がされていたような気がします。

yugui:r36363 2012-07-11 12:25:26 +0900

でそのコンパイルと実行を分けるかわりに文字列を eval する API rb_eval_string_from_file() などを追加しています。なぜかコメントが javadoc 形式ですね。

usa:r36364 2012-07-11 12:46:37 +0900

ext/openssl/ossl_pkey_ec.c の配列の初期化に別の変数を使う記法をやめて、またコンパイラ(VC++)の警告を除去するためのキャストを追加しています。

nobu:r36365 2012-07-11 17:36:41 +0900

configure のオプションに --enable-shared を指定した時に enc/encinit.o を EXTSOLIBS に入れていたのを DLDOBJS に入れるように変更しています。 拡張ライブラリではなくて本体のほうの共有ライブラリに入れるようにしているのだと思いす。

nobu:r36366 2012-07-11 18:02:06 +0900

sample/test.rb に tool/rubytest.rb から呼ばれたのではなくて直接実行された時のためにプログレス表示方法の判定を修正しています。