-1
我想對12GB文本文件中的字符串執行4000多次搜索。使用python搜索12GB文件的最快方法
目前,我使用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!"
如何加快搜索速度?
加載文本文件到數據庫中,並使用數據庫,如果它是一個選項 – MooingRawr
多線程? – MatTheWhale
至少嘗試一次運行所有搜索的正則表達式。目前,您正在多次循環播放所有數據。而且......從磁盤中搜索12 GB的數據需要一段時間。 – dhke