我使用的是超级计算机,因此内存不是问题。实际上,我正在尝试利用大容量内存。
我试图从文件中读取177百万行,将每行解析为两个短字符串,并将这些字符串存储为字典键元组。对于前1000万行左右,python每3秒读取超过100万次读取。这种速度迅速下降,据我所知,持续时间越来越长。所以我的过程比预期的要长很多倍。
这是因为Python会不断调整哈希表的大小吗? 如果是这样,有没有办法声明字典大小为1.8亿?
targets={}
for line in open(blastInput):
pieces = line.split()
target = (pieces[0], pieces[1])
#steps to calculate count omitted
if not targets.has_key(target):
targets[target] = 0
targets[target] += count