문제

Perl Regexes를 프로파일 링하여 그들이 얼마나 비싼지를 결정하는 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

Perl은 함께 제공됩니다 기준 많은 코드 샘플을 사용하고 "어느 것이 더 빠른가?"라는 질문에 대답 할 수있는 모듈. 나는 가지고있다 Perl 팁 ~에 벤치마킹 기본 사항, 그리고 그것은 Regexps 그 자체를 사용하지 않지만 추가 참조와 함께 주제에 대한 빠르고 유용한 소개를 제공합니다.

Brian D Foy도 있습니다 훌륭한 그의 벤치마킹에 관한 장 마스터 링 Perl 책. 그는 그것을 넣을만큼 친절했다 초안으로 온라인으로, 그것은 읽을 가치가 있습니다. 나는 그것을 충분히 추천 할 수 없다.

다른 팁

"벤치 마크 사용"모듈 만 말하는 것만으로도 질문에 답하지는 않습니다. Regex 벤치마킹은 계산을 벤치마킹하는 것과 다릅니다. 실제 데이터와 같이 REGEX를 강조 할 수 있으므로 많은 양의 현실적인 데이터가 필요합니다. 대부분의 데이터가 일치하면 빠르게 일치하는 정규식을 원할 것입니다. 대부분이 실패하면 빠르게 실패하는 정규식을 원합니다. 그들은 같은 동정인이 될 수 있지만 아마도 그렇지 않을 수도 있습니다.

내가 선호하는 방법은 RE에 큰 입력 데이터 세트를 갖는 다음 데이터 n 번 (예 : 100,000)을 처리하여 얼마나 오래 걸리는지 확인하는 것입니다.

그런 다음 RE를 조정하고 다시 시도하십시오 (앞으로 다시 벤치마킹해야 할 경우를 대비하여 모든 기존 RES를 댓글로 유지하십시오.

특정 입력에 대한 실행 경로를 제공하기 위해 RES를 분석 할 수있는 도구가있을 수 있지만 (DBMS의 분석 도구와 같은) Perl은 게으른 언어 (Larry 자신이 전달한 계명)의 언어이기 때문에 나는 할 수 없었습니다. 그것을 찾으려고 귀찮게하십시오 :-).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top