Hi everybody! I've written the code below to test the differences in performance between compiled and non-compiled regular expression matching but I don't quite understand the results. It appears that the performance difference is only around 2%, even if I run the
------------ import re import time ## Setup pattern = "<a>(.*)</a>" compiledPattern = re.compile(pattern) longMessage = "<a>"+ "a" * 100000 +"</a>" numberOfRuns = 1000 ## TIMED FUNCTIONS startTime = time.clock() for i in range(0, numberOfRuns): re.match(pattern, longMessage) patternMatchingTime = time.clock() - startTime startTime = time.clock() for i in range(0, numberOfRuns): compiledPattern.match(longMessage) compiledPatternMatchingTime = time.clock() - startTime ratioCompiledToNot = compiledPatternMatchingTime / patternMatchingTime ## PRINT OUTS print("") print(" Pattern Matching Time: " + str(patternMatchingTime)) print("(Compiled) Pattern Matching Time: " + str (compiledPatternMatchingTime)) print("") print("Ratio Compiled/NotCompiled: " + str(ratioCompiledToNot)) print("") -- http://mail.python.org/mailman/listinfo/python-list