索引

技術解説

10GBの2回目はどこで縮んだか — Full Spectrum④:前置できない正規表現が ripgrep の hot 13.54秒に対し uvp 0.73秒、ただし±N行の2語目の突き合わせは1.24倍の同等どまり

3GB で速くなった仕組みが、10GB でもそのまま効くとは限りません。 前の2回で入れた「行の骨格」と「ブロックの印」は、3GB の測定で決めた仕組みです。10GB・1億行で全体テストを流すと、2回目にまだ重い式が4つ…
技術解説

開かなくてよいブロックを先に知る「ブロックの印」と1MBのブロック — Full Spectrum③:素の検索で ripgrep の hot 0.31秒に対し uvp 0.17秒、ただしどこにでもある語では印を確かめる分だけ4%遅い

3GB の OpenStreetMap の XML を 1MB ずつに切ると 2,893 個のブロックになり、そのうち 東京 が入っているのは 910 個でした。 残りの約 7 割は、開く必要がありません。けれど「開かな…
技術解説

ヒットしない行のかたまりを読まずに飛ばす「行の骨格」 — Full Spectrum②:ripgrep の -E -v より hot で28.2倍、ただしどのブロックにもヒットがある式では同等どまり

9,224万行のうち、ヒットするのは1行でした。 3GB の OpenStreetMap の XML で ^ + uvf・uvp は私が作っている UwView の検索コマンドです(uvf は無料版、uvp は有料版 U…
技術解説

束ねる1回目は ripgrep に1.58倍負ける — Wide Field④:2回目からは9.77秒、ファイルが1本消えても作り直さない

1本、消えました。 まとめて探すために作った索引の、元のファイルです。app.log.9.gz が保存期間を過ぎて消えた——そのとき、索引はどうあるべきでしょうか。 以前のこちらは、作り直していました。それが正しくないと…