私の文字列はファイルパスです。たとえば、s/14/11/13/15/n7ce49B_235_25ed2d70.jpg
私のパターンはすべてn7ce49B_.+
。
GNU grep 2.6.3
下から走っています。Debian 6.0.10存在するデルDL360G7サーバー(このシステムのパフォーマンスに関するアイデアを提供するために言及されています)には15k HDDがあり、次のコマンドはtime LC_ALL=C grep -E -f path_to_patterns_file path_to_strings_file
完了できません。サーバースワップがひどいです。 20,000パターンを作成するのに3時間以上かかります。
これは私にとって合理的ではないようです。
コメントのリクエストに応じて、次の文書が提供されます。ファイルパス 20kパターン
また、入力ラインとパターンの数をテストして調整することもできます。
xxd -p /dev/urandom | fold -sw 100 | head -n 1250 |
grep -Ef <(xxd -p /dev/urandom | fold -sw 10 | head -n 20000)
答え1
以前のバージョンのGNU grepでパフォーマンスの問題が発生しました(バグ #22357)解決しましたこれにより提出、2.28 にリリースされたが変更いくつかの回帰を導入しました。grep
したがって、GNU 3.0以降を使用する必要があります。