UwView

技術解説

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

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

klogg・ripgrep・grep・PowerGREP から何を取り入れたか — UwView が他のツールに学んだ機能と、あえて入れなかったもの(First Light〜Full Spectrum)

UwView は、ほかのツールに負けた記録の積み重ねでできています。 klogg に機能表で負け、ripgrep に正規表現で負け、grep のパイプには「自動化では今もかなわない」と書いてきました。そのたびに、相手の良…
技術解説

開かなくてよいブロックを先に知る「ブロックの印」と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…
技術解説

Shift-JIS・EUC-JP・UTF-16 を索引の中で UTF-8 にそろえた — Full Spectrum①:ripgrep の -E より2回目から5.4〜38.8倍、ただし1回目は ripgrep が1.2〜1.5倍速い

変換が毎回入っていました。 Shift-JIS の 3GB を探すと、ヒットした行を数える前に、3GB 分の文字コード変換が走ります。2回目も、3回目も、同じ変換です。 索引を持っているのに、なぜ毎回変換していたのか。そ…
お知らせ

UwView v1.9.0「Full Spectrum」— ripgrep と比べながら、(プレーン・Word・Excel・PDF・圧縮)×(CLI・GUI)×(巨大・多数)×(4つの文字コード)×(複雑な検索)の全域を速くした

式で書くと、こうなります。 無料版 UwView(uvf) (プレーン + Word・Excel・PDF + 圧縮[gz・bz2・xz・lzma・zst・lz4・br])× (CLI + GUI)× (巨大 + 多数)フ…
技術解説

「秒に出ない」と書いた改行の数え方が、2回目の検索の4割を占めていました — Wide Field⑫:数え方を5倍速くして、hot でも ripgrep を追い越す(3GB 0.40→0.27秒)

【追記 2026-10-16】いまの速さ — v1.9.0 でも、2回目は ripgrep と同等のままです 本文の数字は 1.7.3.6.8・1.7.3.6.9(2026年10月3〜4日)のものです。同じ Mac で、…
技術解説

Rust の ripgrep に C# で追いつくまで — 巨大ファイルは205秒から同等へ、8.6万本は19倍の負けから同等へ、複雑な検索は uvp が ripgrep の1.07〜3.5倍

【追記 2026-10-16】いまの速さ — 複雑な検索は 1.07〜3.53倍から 1.22〜4.56倍に 本文の表は v1.7.3.7(2026年10月4〜5日)と試験版 uvp 1.8.1.3(10月6日)の値です…
技術解説

ripgrep と同じ1コマンドで、12本・7形式・zip・pbf を探せるようにしました — Wide Field⑮(最終回):無料版は同等のまま、uvp はカーネル8.6万本で4.0倍、1.5倍を超える負けは2種類

2種類だけ残りました。 14回かけて、ripgrep に負けている場所を全部数え直したら、1.5倍を超える負けは2種類でした。どちらも有料版 uvp が索引を持つ代価です。 探せる入口を7つ増やしておいて、速さの負けが2…
技術解説

ripgrep にまだ負けているところを、全部並べます — Wide Field⑭:1.5倍を超える負けは Mac で2種類だけ(複数ファイルを初めて束ねる1回目が 1/1.59、`uvp` の2回目に乗る固定費 0.12秒が 1/2.93)

負けを全部並べます。ただ、負けだけでは全体の形が見えないので、勝ち・負けの全体を先に1枚にしました。 この連載は毎回、「先に、負けているところを書きます」から始めてきました。13回ぶんたまったので、散らばった負けを1枚に…