내가 사용하고 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 했으므로 캐시됩니다. 역순으로 수행하면 거의 같은 시간입니다.
—
tildearrow
로케일에 따라 달라질 수 있습니다. 일부 로케일은 대소 문자를 구분하지 않는 복잡한 계산을 포함합니다. GNU grep은 유니 코드와 관련된 많은 상황에서 특히 느립니다. 어떤 로케일 설정을 사용 했습니까? 어떤 유닉스 변종에서? 테스트 파일의 내용은 무엇입니까?
—
Gilles 'SO- 악한 중지'
@Gilles는 좋아 보입니다. 여기에서 각 테스트를 100 번 반복하면 (전체를 타이밍), 설정 할
—
EightBitTony
egrep
때보 다 빠르며 거의 동일합니다. grep
LANG=C
@EightBitTony
—
kasperd
user
시간을 봅니다 (디스크 대기 시간은 포함되지 않음). 차수에는 차이가 있습니다.
grep
flie의 디스크 캐싱 간의 차이를 측정하지 않도록 다른 방법으로 시도 하십시오.