@LevSvl08

При использовании multiprocessing может ли одновременное считывание из файлов тормозить программу?

Есть скрипт, которые переименовывает некоторые значения. Сами значения для переименования лежат в csv-файлах. Есть распараллеленная версия скрипта, есть последовательная. Последовательная отрабатывает с большей скоростью. Осознаю, что причин может быть масса, но сейчас по некоторым причинам меня интересует только один вопрос. Если два процесса в один и тот же момент захотят прочитать файл, будет блокировка, и это затормозить работу скрипта, правильно?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Непонятно что ты там переименовываешь. CSV файлы - это файлы последовательного доступа. И чтобы изменить 1 строчку и 1 значение тебе надо создать копию файла с изменением. И оригинал убить. В этом кардинальное отличие от баз данных где файлы имеют блочную структуру и изменнеие касается всегоа 1 db-block (обычно кусочек файла кратный 4-8 килобайт).

Вот предлагаю обсудить этот вопрос а уже потом подойти к ... муль-ти-про-цессингу или как ты там написал.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы