[groonga-dev,02682] Re: お願い: Rroongaのリリース

Back to archive index

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/




groonga-dev メーリングリストの案内
Back to archive index