re.compile()의 효율성 탐색
Python의 re.compile()을 사용하여 성능을 향상시키는 것이 일반적입니다. 정규식. 그러나 이 컴파일 단계가 실제로 상당한 이점을 제공하는지 궁금할 수도 있습니다.
"hello world"와 일치시키려는 정규식 "hello"가 있다고 가정합니다. 아래와 같이 re.compile()을 사용하여 표현식을 컴파일하고
h = re.compile('hello') h.match('hello world')
컴파일 없이 단순히 re.match()를 사용하는 것과 비교하면
re.match('hello', 'hello world')
re.compile이 수행됩니다. ()는 눈에 띄는 성능 이점을 제공합니까?
컴파일된 정규 표현식을 수천 번 실행하는 것과 즉시 컴파일하는 것에 대한 개인적인 경험에 따르면 눈에 띄는 차이는 발견되지 않았습니다. 이는 컴파일 프로세스가 실행 속도에 큰 영향을 미치지 않을 수 있음을 시사합니다.
추가 조사에 따르면 re.match()를 사용할 때에도 Python이 내부적으로 정규식을 컴파일하고 캐시하는 것으로 나타났습니다. 즉, re.compile()은 컴파일이 발생할 때 기본적으로 변경되지만 상당한 시간 절약 효과는 없습니다. 실제 절약되는 시간은 내부 캐시를 확인하는 데 필요한 시간으로 제한됩니다.
따라서 정규식을 미리 컴파일하는 결정은 성능 최적화가 아닌 용도에 따라 결정하는 것이 좋습니다. 재사용 가능한 명명된 표현식의 경우 사전 컴파일을 통해 코드 가독성을 높일 수 있지만 실행 속도가 크게 향상되지는 않을 수 있습니다.
위 내용은 `re.compile()`이 실제로 Python의 정규식 성능을 향상합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!