Kouhei Sutou
kou****@clear*****
2015年 3月 18日 (水) 11:21:55 JST
須藤です。 In <20150****@clear*****> "[groonga-dev,03112] Re: 静的インデックス構築時のGRN_TOKEN_SKIP_WITH_POSITION対応" on Fri, 13 Mar 2015 17:19:33 +0900 (JST), Kouhei Sutou <kou****@clear*****> wrote: >> この変更によって索引の静的構築時の作業領域が増えるということでしょうか? > > はい、そうです。 > >> alignmentも考えるとそこそこ増えるんでしょうかね。。 > > 確認してみたところ、sizeof(grn_id)が4バイトでsizeof(struct版)が > 8バイトだったので、alignmentはあんまり関係なさそうです。 > が、サイズは2倍になります。 > > block_bufは最初に0x1000000分確保しているので、0x1000000 * 4 > で32MiB増えます。その後に大きくなったらその分増えるという感 > じです。 > > きびしいですかねぇ。 grn_idの左端の2bitをflagとして扱うと3パターン(00と01と11) しか扱えないので、2bitを全部使って4パターン(00と01と10と11) 扱えるようにしてgrn_idに位置情報もぶち込むようにしてみました。 これだと作業領域は増えないんですがどうでしょうか。 https://github.com/groonga/groonga/pull/318 -- 須藤 功平 <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/