параллельный разбор файлов, несколько процессорных ядер
Я задал связанный, но очень общий вопрос ранее (см. Особенноэтот ответ).
Этот вопрос очень специфичен. Это весь код, который меня волнует:
result = {}
for line in open('input.txt'):
key, value = parse(line)
result[key] = value
Функцияparse
полностью автономен (т.е. не использует какие-либо общие ресурсы).
У меня есть процессор Intel i7-920 (4 ядра, 8 потоков; я думаю, что потоки более актуальны, но я не уверен).
Что я могу сделать, чтобы моя программа использовала все параллельные возможности этого процессора?
Я предполагаю, что могу открыть этот файл для чтения в 8 различных потоках без значительного снижения производительности, поскольку время доступа к диску мало по сравнению с общим временем.