我想在12GB的文本文件中对字符串进行4000多次搜索。
目前,我正在使用mmap
将文件加载到内存中,这样做效果很好(大约需要5秒):
with open('my_file.txt', 'rb') as f:
m = mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ)
data = m.read(-1)
不幸的是,搜索将永远持续下去:
for string_to_search_for in list_of_queries:
if string_to_search_for in data:
print "Found a match!"
如何加快搜索速度?