Kyoto Cabinet 1.2.2から加わったGrassDBは、オンメモリでページ管理を行うB+木を実装してメモリを節約しちゃう仕組みである。それを使ってJava、Python、Ruby、Perlなどのハッシュ(連想配列)機構を鬼のように省メモリにしてみる。頑張ればなんと20分の1になる。 前提 B木やその変種のB+木などは、キーの順序が近いレコード群を「ページ」という単位にまとめてシリアライズしてストレージに書き込むことで、入出力の頻度を減らして高速化することを意図している。メモリに比べて低速なストレージの上で大量のデータを管理するために使われる。多くのRDBMSやいくつかのDBMがB+木をサポートしているのはそれが理由であろう。一方で、メモリ上で検索可能なデータ構造を表現するためには、二分探索木やその特殊例である赤黒木が使われる。STLのstd::mapの実装にも赤黒木を使うのが一
文字列の高速検索の歴史を年表にしてみたんだけど、年表にしたらめちゃくちゃおもしろいことに気づいてしまいました!今日のエントリーは必見ですよ! id:siokoshou:20060323 に書いた EXACT STRING MATCHING ALGORITHMS に各論文の発表された雑誌が載ってたので、年表に並べてみました。いろいろ検索しててあちこちでみかけた名前だけ並べてます。 1977 KMP 1977 BM (Boyer-Moore algorithm) 1980 BMH (Horspool algorithm) 1990 Sunday Quick Search algorithm 1992 Shift Or algorithm 1992 Turbo-BM algorithm (繰り返し対策.DNAのように文字種の集団が小さい場合に有効) んで、注目のポイントはここ。 1980 BMH
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く