$ grep '^model name' /proc/cpuinfo | head -1 model name : Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz << test1 >> for (( i = 0; i < 1000000; i++ )); do printf 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab\n' done > test1.txt printf 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n' >> test1.txt time env LANG=ja_JP.eucJP src/grep -v b test1.txt === before the patch === $ time env LANG=ja_JP.eucJP src/grep -v b test1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa real 0m2.038s user 0m1.967s sys 0m0.071s === after the patch === $ time env LANG=ja_JP.eucJP src/grep -v b test1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa real 0m0.595s user 0m0.536s sys 0m0.060s << test2 >> for (( i = 0; i < 4000000; i++ )); do printf '\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa3\n' done > test2.txt printf '\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\xc2\xa2\n' >> test2.txt CHR=`printf '\xc2\xa3'` time env LANG=ja_JP.UTF-8 src/grep -v "$CHR" test2.txt === before the patch === $ time env LANG=ja_JP.UTF-8 src/grep -v "$CHR" test2.txt ¢¢¢¢¢¢¢¢¢¢ real 0m1.460s user 0m1.407s sys 0m0.054s === after the patch === $ time env LANG=ja_JP.UTF-8 src/grep -v "$CHR" test2.txt ¢¢¢¢¢¢¢¢¢¢ real 0m0.560s user 0m0.513s sys 0m0.047s