3 ms·
taken from http://git.savannah.gnu.org/gitweb/?p=grep.git;a=commit;h=97318f5e59a1ef6feb8a378434a00932a3fc1e0b http://git.savannah.gnu.org/gitweb/?p=grep.git;a=c
by TobalJackson 13y ago
taken from http://git.savannah.gnu.org/gitweb/?p=grep.git;a=commit;h=97318f5e59a1ef6feb8a378434a00932a3fc1e0b http://git.savannah.gnu.org/gitweb/?p=grep.git;a=commit;h=97... it seems like the speedup was achieved in the most common case of usage, which is with the -i switch (for case insensitive searching).
taken from the commit log:
"The trick is to realize that for some search strings, it is easy to convert to an equivalent one that is handled much more efficiently.
E.G. convert this command:
grep -i foobar k
to this:
grep '[fF][oO][oO][bB][aA][rR]' k
That allows the matcher to search in buffer mode, rather than having to extract/case-convert/search each line separately. Currently, we perform this conversion only when search strings contain neither '\' nor '['."