2015-01-01から1年間の記事一覧

風邪でダウン

土曜日の夜から妙に体がダルいと思っていたのですが,朝起きた段階で頭痛,午後には鼻水とくしゃみが追加されて,実に風邪らしい風邪を引いてダウンしていました.やったことと言えば,宅配便を受け取ったことくらいです. いろいろと予定が狂ってしまいまし…

grn_ts: シーケンシャルアクセス向けの改善

grn_ts: use a cache when sequentially accessing grn_ja · Issue #441 · groonga/groonga · GitHub 以下のようなクエリを試すと,実行時間が想定より長くなることがわかりました. select Table --filter 'TextCol == "A"'少し調査すると,フィルタリング…

grn_io_win_map() 内部の除算

grn_ts で Text カラムにアクセスするときは grn_ja_ref() を使っています.そして,その内部で呼び出される関数の一つが grn_io_win_map() です.より具体的には, 8 bytes 以上の値にアクセスするときに呼び出されます.気になったのは, grn_io_win_map()…

Darts-clone Q&A

Q: Darts-clone uses 8 bits to store a label and 1 bit to store a flag (has_leaf). The array size limit is really 2^29? Darts-clone uses 21 bits to represent a relative offset. The remaining 1 bit is used to extend the limit. If the bit is …

grn_ts: フィルタの式を省略できるようになりました

Groonga ブログに書くほどでもない細かい内容はこちらに書いていくことにしました.grn_ts は --filter の先頭に '?' を付けることで有効になるわけですが, '?' に続けてフィルタの式を指定する必要がありました.今回の修正では, --filter '?' だけで grn…

Marisa-trie Q&A

Q: How can I know IDs when I create a keyset? Or should I reread the whole dictionary after build()? As you mentioned, "reread all the keys"-approach is the answer. IDs are allocated in construction and depend on the constructed tree struc…

Darts-clone Q&A

Q: What is the limit number of string in darts clone? A double-array uses an array and its size must be less than 2^29 (=536M). The array size is greater than the number of keys. So, the maximum number of keys is less than 2^29.The actual …