私はgrep -iより頻繁に使用していますが、egrep各文字の大文字または小文字と一致する同等のものよりも遅いことがわかりました:
$ time grep -iq "thats" testfile
real 0m0.041s
user 0m0.038s
sys 0m0.003s
$ time egrep -q "[tT][hH][aA][tT][sS]" testfile
real 0m0.010s
user 0m0.003s
sys 0m0.006s
しgrep -iない追加のテストをegrep行いますか?
テストの前にファイルをgrepしたので、キャッシュされます。逆の順序で行われた場合、ほぼ同じ時間。
—
ティルダロー
これはロケールに依存する場合があります。一部のロケールでは、大文字と小文字を区別しない複雑な計算が必要になります。GNU grepは、Unicodeを含む多くの状況で特に遅くなります。どのロケール設定を使用しましたか?どのUnixバリアントの下で?テストファイルの内容は何ですか?
—
ジル 'SO-悪であるのをやめる'
@Gillesは見栄えがよく、各テストをここで100回繰り返す(全体のタイミングを調整する)ので、設定する
—
EightBitTony
egrepよりも速くなり、両方ともほぼ同じになります。grepLANG=C
@EightBitTony
—
カスペルド
user時間(ディスク待機時間を含まない)を確認します。違いには桁違いがあります。
grep反対の方法を試して、フライのディスクキャッシュの違いを測定していないことを確認してください。