String saya adalah path file seperti s/14/11/13/15/n7ce49B_235_25ed2d70.jpg
; polanya cukup sederhana, semuanya suka n7ce49B_.+
.
Aku berlari GNU grep 2.6.3
di bawah Debian 6.0.10 pada Dell DL360G7 Server (saya menyebutkan itu hanya untuk memberikan rasa mesin kinerja ini) dengan 15k HDD, dan perintah ini: time LC_ALL=C grep -E -f path_to_patterns_file path_to_strings_file
hanya tidak bisa lengkap - swap Server terlalu parah. Dengan pola 20k dibutuhkan lebih dari 3 jam.
Bagi saya itu tidak masuk akal.
Per permintaan komentar, ada file: path file pola 20k
Seseorang juga dapat menguji dan menyesuaikan jumlah garis dan pola input dengan:
xxd -p /dev/urandom | fold -sw 100 | head -n 1250 |
grep -Ef <(xxd -p /dev/urandom | fold -sw 10 | head -n 20000)
grep
.
xxd -p /dev/urandom | fold -sw 100 | head -n 1250 | grep -Ef <(xxd -p /dev/urandom | fold -sw 10 | head -n 20000)
. Sepertinya waktu dihabiskan untuk menyusun regexps dan mengalokasikan banyak memori. Dengan -F
alih-alih -E
, itu instan.
n7ce49B_.+
setara dengann7ce49B_.
90k
, deskripsi memiliki20K
pola