UwView

技術解説

平文と gz の12本を1コマンドで — Wide Field①:ripgrep に1.62倍負けてから2.42倍、ただし平文だけでは取り返せない

【追記 2026-10-04】v1.7.3.6.8 で、2回目(hot)の読み方が速くなりました この記事の「平文5本の2回目は uvf が遅い側(1/1.38)」は v1.7.3.6 の値です。v1.7.3.6.8 で…
技術解説

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

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

ripgrep に3.7倍・klogg に1.9倍負けていた自作ビューアが並びました — 改善記⑬(最終回):50GB の検索 205秒→51.70秒、開く 100.6秒→50.44秒

6%、まだ負けています。 50GB のログを1問目に検索すると、ripgrep が 54.9〜55.8秒、こちらが 59.0秒。この連載を始めた時点では、205秒 対 56秒でした。 3.7倍の負けを 6% まで詰めて、…
技術解説

改行を1.88倍速く数えられるようにしたのに、秒数は1秒も動きませんでした — 改善記⑪:メモリ上 1.74→3.27GB/s、外付け SSD からはどちらも 968MB/s

【追記 2026-10-04】続き:2回目(hot)では、改行の数え方が秒に出ました この記事の結論「改行を速く数えても、秒数は動かない」は、ディスクから読む1回目(cold)については今も正しいです。一方、ファイルが…
技術解説

Windows の「cold」が嘘だったので全部測り直した — 改善記⑫:同じハーネスを Mac・Windows・Linux で回し、ripgrep・sed との不一致は3環境とも0件

2.65秒で、読めるはずがありませんでした。 Windows で 10GB のファイルを「キャッシュを落とした状態」で読んだ記録が 2.65秒。外付けでも内蔵でも、10GB を 2.65秒で読める媒体はこの機械にありませ…
技術解説

画面が klogg に約2倍負けていた原因は mmap だった — 改善記⑩:表示は mmap・通し読みは pread に分けて、50GB を開く時間を100.6秒→50.44秒

6割しか出ていませんでした。 外付け USB SSD は dd で測ると 927MB/s 出ます。ところが同じ SSD から同じ 50GB を、mmap で 1MB ずつ読むと 551MB/s。半分強です。 なぜ遅いのか…
技術解説

小さい3GBでだけ ripgrep に1.48倍負けていた — 改善記⑦:律速は読み出しではなく固定費、JIT設定と外部コマンド廃止で hot 7項目 11.46秒→7.95秒

小さいほうが、負けました。 50GB では ripgrep と並んでいるのに、3GB では 1.48 倍遅い。ファイルが小さくなるほど成績が落ちる、という妙な形になっていました。 索引を持っているのだから、小さいファイル…
技術解説

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

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

自分に有利な数字を「差」と呼ばない基準を先に決めた — 改善記⑨:下限を2倍から1.5倍に下げたら、ripgrep 比の判定が6行ひっくり返った

1.28 倍は、勝ちではありません。 自分のツールが相手より 1.28 倍速い数字が出たとき、それを「速くなった」と書くかどうか。ここを測る前に決めておかないと、結果を見てから基準が動きます。 では、いくつからなら書いて…
技術解説

自作CLIが同じコマンドで3回とも違う件数を返した(ripgrep は毎回同じ) — 改善記⑤:打ち切りの既定を無制限にし、grep と同じ 0/1/2 で「不完全」を伝える

件数が毎回違う。 同じファイル、同じコマンド、同じ機械。3 回続けて実行して、356,940 件・356,356 件・357,803 件。どれも「エラー」ではなく、正常に終わって数字を返してきます。 これは速度の話ではあ…