나는 아래와 같은 코드를 가지고 있는데 정규식 비교를하고있다. 코드를 최적화하기 위해 생각했다. .net 프로파일 러를 사용하면 여기서 80 %의 시간을 소비하고, 정규식 필터를 점검했다. 이 side.So이 정규 표현식에, 내가 링크 http://blog.kurtschindler.net/post/regular-expression-performance-comparisons을보고 인터넷 검색 할 때 기존 코드 정규식 성능 문제가 있습니까?
public class TestFilter : SmoothFilter
{
public override bool Apply(Team liveEvent)
{
// Apply each individual piece of the filter using the Match method
if ((Filter == null) || (Filter.Length <= 0) || Match(Filter, pl.Instance))
{
}
private bool Match(string pattern, string inputdata)
{
bool vals = Regex.IsMatch(inputdata, pattern, RegexOptions.IgnoreCase);
return vals;
}
}
당신이 초기 시작까지 시간을내어하지 않을 경우 가장 빠른 방법을 언급하고있다. 그래서 아래와 같이 코드를 수정했습니다. 하지만 필자는 필자의 시스템을 옮겨서 프로필을 작성하는 도구가 없다.
다음이 수정 된 코드
static readonly Regex regexForMethod_E = new Regex("pattern", RegexOptions.Compiled);
private bool Match(string pattern, string inputdata)
{
bool vals = regexForMethod_E.IsMatch("inputdata");
return vals;
}
편집 난 아직 내가 일치 안에 정규식 인스턴스를 이동하는 방법을 잘 모릅니다
() 메소드
당신은 당신의 자신의 간단한 속도 테스트를 쓸 수 있습니다 - 예를 들면 : http://guyellisrocks.com/coding/speed-improvements-with-compiled-regex/ 성능을 비교하기 – dash
문제는 Regex 패턴에 따라 달라질 수 있습니다. 패턴에 대한 자세한 정보를 추가하십시오. – Ria
그럴 경우 왜 평등에 대한 간단한 비교를 수행하는 경우 정규 표현식을 사용합니까? –