Kouhei Sutou
kou****@clear*****
2014年 8月 24日 (日) 17:24:56 JST
須藤です。 In <CAET2rA_wKOHO1W+1bM0jLzzJ=33eTK****@mail*****> "[groonga-dev,02681] Re: お願い: Rroongaのリリース" on Sun, 24 Aug 2014 17:08:45 +0900, Masafumi Yokoyama <myoko****@gmail*****> wrote: > あと、Rroongaの最近の変更について質問があります! > > 先週の土曜日くらいからメモリー管理が改善されたコミットが何個 > か入っていると思うのですが、ユーザーが明示的に指定する機能が > 追加されていたりしますか?それとも、何もしなくてもバージョン > を上げるだけで勝手に改善される感じでしょうか? 何もしなくてもバージョンをあげるだけで勝手に改善されます! > もし明示的に指定する必要があるなら、newsにも詳しく書こうと思 > うのですが、勝手に改善するなら「メモリー管理やGC周りが改善さ > れた」の一行にまとめたほうがわかりやすくていいかなと思ってい > ます。 なるほど! 明示的にやらなくてもいいんですけど、やると効率がよくなるとい うのはあります。以前からある機能で、今回に限らないのです が。。。 もし、「ここからここまでが処理の単位」というのがわかっている のであれば、その処理を context.push_memory_pool do # 処理の単位 end という風にContext#push_memory_poolで囲んでやるとブロックを抜 けたときに開放できるオブジェクトを開放する(GCを待たなくてよ い)のでオススメです。 利用例: https://github.com/clear-code/rurema-search/blob/master/lib/rurema_search/groonga_searcher.rb#L412-416 ↑はWebアプリケーションなのでリクエスト1回毎が「まとまった 処理の単位」になる。 という豆知識があるんですが、今回のリリースノートに書くべきか と言われると必ずしもそうではない気がするので、この豆知識は別 の機会でよいと思いました! -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/ コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ: http://www.clear-code.com/services/code-reader/