Загрузка и обработка данных одновременно — PythonPython

Программы на Python
Ответить
Anonymous
 Загрузка и обработка данных одновременно — Python

Сообщение Anonymous »

Мне нужно обработать огромный объем данных и некоторые ограничения ввода-вывода. В конечном счете, чтение и запись данных занимают примерно столько же времени, сколько и обработка данных. Однако, хотя я могу распараллелить обработку данных, я не могу распараллелить ввод-вывод.
Есть ли достойный способ многопоточного процесса Python, в котором я трачу один из своих потоков на загрузку данных и остальные читают и работают с ним асинхронно?
Скажем, у меня есть L (загрузка) и P (процесс), и каждый из них состоит из блока. . Было бы эффективнее создать тред: и еще один, работающий одновременно настолько быстро, насколько это возможно? Или в конечном итоге параллельные блоки будут работать одинаково быстро

Код: Выделить всё

LP LP LP LP
?
Проблемы с последним подходом заключаются в том, что (а) он потенциально блокирует каждый отдельный процесс за гораздо более медленным L, особенно если компьютер пытается загрузить их все в то же время это означает разделение постоянного ввода-вывода между несколькими потоками и (б) не позволяет мне разделить работу на относительную долю работы. Например, если я в конечном итоге буду делать больше с данными, и обработка каждого фрагмента займет в 3 раза больше времени, чем его загрузка, я бы хотел разместить в 3 раза больше потоков на стороне обработки. (c) Мне никогда не нужны периоды, когда какой-то L не происходит, но теоретически можно представить, что это происходит в параллельной форме LP, когда все работает на P в данный момент время.
Может оказаться, что эти проблемы минимальны, и простота настройки блока LP будет проще с точки зрения читаемости. Но я на самом деле просто не очень хорошо знаю.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... sly-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»