параллельный разбор файлов, несколько ядер ЦП

Ранее я задал родственный, но очень общий вопрос (см. особенно этот ответ ).

Этот вопрос очень конкретный. Это весь код, который меня волнует:

result = {}
for line in open('input.txt'):
  key, value = parse(line)
  result[key] = value

Функция parse полностью автономна (т. Е. Не использует общие ресурсы).

У меня процессор Intel i7-920 (4 ядер, 8 потоков; я думаю, что потоки более актуальны, но я не уверен).

Что я могу сделать, чтобы моя программа использовала все параллельные возможности этого процессора?

Я предполагаю, что могу открыть этот файл для чтения в 8 различных потоках без значительного снижения производительности, поскольку время доступа к диску мало по сравнению с общим временем.

12
задан Community 23 May 2017 в 12:09
поделиться