2026-10

技術解説

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

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

-i 付きの正規表現が ripgrep に2.7〜3.1倍負ける — Wide Field⑨:.NET の正規表現がどこまで同じか、書き換え先で結果が変わる話

【追記 2026-10-16】いまの速さ — -E -i の2回目は、1/2.7〜1/3.1 の負けから ripgrep より速いに変わりました 本文の秒数は v1.7.3.6(2026年9月29日)のものです。同じ M…
技術解説

同じテスト一式を mac・Windows・Linux で流したら、Windows で負けが見つかりました — Wide Field⑬:総合は 2.49/3.42/1.88倍・不一致 0 件、ただし Windows の xz・zst・lz4 は ripgrep の 1/1.5〜1/2.1

この連載の数字は、ほとんど1台の Mac で測ったものです。 UwView は Windows・macOS・Linux 向けに配っています。Mac で「ripgrep と同等以上」と書いたことは、ほかの2つでも本当なので…
技術解説

ripgrep の –json に項目数で負ける JSON Lines — Wide Field⑪:キーは3つだけ、スレッド数は –tune で測って決める(1本6.33→8本16.41 GB/s)

jq に渡せません。 検索結果を cut -d: でファイル名と行番号に割ろうとして、C:/logs/app.log のコロンで割れました。Windows のパスです。ならば最初から JSON で出せばいい——と思ったと…
技術解説

rg に gzip をつながずに gz で書き出す — Wide Field⑩:50GB で117.20秒→11.89秒、ただし3GBでは ripgrep と同等

形が、戻りませんでした。 bz2 で保管していたログを探して、結果をまた bz2 で置きたい。入口は7つの圧縮形式を読めるのに、出口はテキストだけでした。 読めるのに書けない、というのは何が足りないのでしょうか。 計測は…
技術解説

ripgrep では pbf の中を探せない — Wide Field⑥:osmium で XML にして渡すと148秒、uvp に直接渡すと29.3秒(2回目からは6.8秒)

2分半、待ちました。 osmium cat で OpenStreetMap の pbf を XML に展開し、rg に流す。これで1回の検索に148秒です。pbf は地図データの圧縮形式なので、rg にそのまま渡しても中…
技術解説

ripgrep は zip の中を探さない — Wide Field⑤:unzip で展開してから探すと18.4秒、zip をそのまま渡すと3.3秒(2回目は0.6秒)

0件、と返ってきます。 rg に zip を渡しても、中は見てくれません。終了コードは1。ログを zip で固めて置いてあると、まず展開しないと探せないわけです。 その展開は、いくらの買い物でしょうか。 対象は uvzi…
技術解説

ripgrep の -g にある除外指定が、まだありません — Wide Field⑧:ファイル指定を引用符ひとつに決め、直した5か所で36項目が一致

引用符を忘れると、怒られます。 uvf .log ERROR と打つと、エラーになって「引用符で囲んでください」と言われる。ripgrep なら、そのまま探してくれるところです。わざわざ使いにくくしているわけです。 なぜ…
技術解説

xz だけ ripgrep -z に6.19倍負けていた — Wide Field②:外部コマンドを呼ばずに7形式、束ねたら止まった並列を直すまで

【追記 2026-10-04】Windows では、圧縮の一部の形式で ripgrep の方が速い結果でした この記事の「1.5倍以上の負けは 0 項目」は Mac での結果で、今も正しいです。同じテスト一式を Wind…