工作涉及到需要将一个超大文件按指定内容进行分割,这里测试一下python中的in
,==
和正则
三种匹配方式的效率对比。
import time
import re
string = "USE dataCombine;"
s = time.time()
for i in range(5000000):
if "USE dataCombine;" in string:
pass
e = time.time()
print(e - s)
s = time.time()
for i in range(5000000):
if "USE dataCombine;" == string:
pass
e = time.time()
print(e - s)
s = time.time()
for i in range(5000000):
if re.match("USE dataCombine;", string):
pass
e = time.time()
print(e - s)
可以看到==
的匹配方式效率最高。
in 0.43586254119873047
== 0.29318761825561523
re 3.9913246631622314