uvf

技術解説

圧縮ログの検索を ugrep・ripgrep・zgrep と比べた — 1回目は同等、2回目は形式によらず 0.11〜0.12秒

【追記 2026-10-04】v1.7.3.6.9 では、平文5本も同等(uvf がわずかに速い)になりました この記事の「平文だけを複数まとめて探すと ripgrep の方が少し速い(1/1.17)」は、書いたときの版…
技術解説

「gz は検索できません」と書いていた — 改善記⑧:OS標準の zlib と8バイトCRCで 50GB の gz を 35.65秒→17.20秒、gzip と ripgrep をパイプでつないだ 22.06秒に並んだ

展開のほうが、速かった。 圧縮ファイルの検索を作っていて、いちばん意外だったのはここでした。遅いのは展開だと思い込んでいたのに、測ったら展開は間に合っていて、遅かったのは「壊れていないか確かめる工程」でした。 3GB の…
技術解説

CLIが探した結果を画面に渡して2回読みを1回にした — 改善記⑥:一時ファイル1つと「索引の目印」で、50GB の通しが klogg の 108.14秒に対して 50.76秒

探した結果を、捨てていた。 コマンドで 50GB を探して、当たった行を画面で開く。よくやる流れです。ところがこのとき、コマンドが見つけたヒットの位置は画面に渡っていませんでした。渡っていたのは検索語だけ。 つまり画面は…
技術解説

ログは圧縮したほうが、速く探せます — 1GBと3GBで7形式を測りました

【追記 2026-10-16】いまの速さ — v1.9.0「Full Spectrum」で測り直しました 本文の uvf・uvp の数字は、開発版 Wide Field(1.7.1.6・2026年9月)のものです。同じ…
技術解説

自作CLIの -i が ripgrep に4.3倍負けていた — 改善記③:文字に戻さずバイトのまま畳んで 2.72秒→0.66秒(例外は U+212A だけ)

-i を付けると4倍遅い。 同じファイル、同じ語、違うのは「大文字小文字を無視するかどうか」だけ。それだけで秒数が4倍になります。探し方の問題だと思って探索のコードを読んでいましたが、犯人はそこにいませんでした。 速い道…
技術解説

自作CLIを ripgrep 並みの速さにした — 改善記②:2回半読みを1回に畳んで 203秒→50.82秒

203 秒が 50.82 秒に。 コードを速く書き直したわけではありません。並列化もしていません。減らしたのは、同じファイルを読む回数だけです。では「数える・探す・書き出す」という 3 つの仕事を 1 回の読みに畳むと、…
技術解説

自作CLIが50GBの検索で ripgrep に3.7倍負けた — 改善記①:205秒の内訳を測る

50GB の検索に、205 秒。 「速さの道具ではありません。ripgrep があるならそちらを」——v1.6.0 のリリース文に、自分でそう書きました。ripgrep の約 4 倍。けれど、その 205 秒が何でできて…
技術解説

無料の uvf だけで ripgrep とも klogg とも渡り合えます。uvp が効くのは2問目から — 同じ 50GB を3つの土俵で測った

3か月かけて、51.25GB の1本のファイルを同じ機械で測り続けました。出てきた答えは、自分でも意外なほど単純でした。 無料版に付いてくる uvf だけで、最速の grep とも、業界標準のログビューアとも渡り合えます…
技術解説

klogg に開くのは負けました。通すと uvf が勝ちます — 50GB で比べ直した

51GB のファイルを開くだけなら、klogg のほうが速いです。52.55秒 対 100.6秒。うちの負けです。 【2026-09-19 追記】この負けは v1.6.6 で返しました。 同じ条件で測り直して 50.44…
技術解説

ripgrep は no-mmap で2.9倍速くなる — 既定の mmap 読みと 50GB・3OS で比べた

51GB のファイルを ripgrep で検索するとき、--no-mmap を付けると速くなることがあります。Windows では最大 2.89倍。Mac では何も変わりません。Linux では、検索の中身によって速くも…