análise de arquivos paralelos, vários núcleos de CPU
Fiz uma pergunta relacionada, mas muito geral, mais cedo (consulte especialmenteesta resposta)
Esta questão é muito específica. Este é todo o código que me interessa:
result = {}
for line in open('input.txt'):
key, value = parse(line)
result[key] = value
A funçãoparse
é completamente independente (ou seja, não usa nenhum recurso compartilhado).
Eu tenho CPU Intel i7-920 (4 núcleos, 8 threads; acho que os threads são mais relevantes, mas não tenho certeza).
O que posso fazer para que meu programa use todos os recursos paralelos desta CPU?
Suponho que posso abrir esse arquivo para leitura em 8 threads diferentes sem muita penalidade de desempenho, pois o tempo de acesso ao disco é pequeno em relação ao tempo total.