Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This blog has moved. An updated version of this post is available here.
Comments
Anonymous
June 03, 2010
Did you try Regex.Compile? msdn.microsoft.com/.../8zbs0h2f(VS.71).aspxAnonymous
June 03, 2010
The comment has been removedAnonymous
June 22, 2010
Sure. But if you're using RegexOptions.Compiled then IsMatch is actually faster. Try putting: Regex nulla = new Regex("nulla", RegexOptions.Compiled); s.Start(); //Normally we have a static Regex so it isn't fair to time the initialization (although it doesn't make a difference in this case) for (int i = 0; i < trials; i++) { bool isMatch = nulla.IsMatch(message); } I got: regex = 00:00:00.6902234 contains = 00:00:00.8815885 (during 10 trials it was consistently faster) Lesson must be that if you're searching for the same thing a lot, the dynamically compiled state machine provided by RegexOptions.Compiled is actually faster. Even if just searching for a simple string.