Я пытаюсь выяснить, вызывается ли gsutil mv
без опции -m
, каковы значения по умолчанию.В исходном коде config.py
я вижу, что он выглядит даже без опции -m
, по умолчанию будет рассчитываться количество ядер ЦП и задано это вместе с 5 потоками.Таким образом, по умолчанию, если у вас есть 4-ядерный компьютер, вы получите 4 процесса и 5 потоков, в основном многопоточные из коробки.Как бы мы узнали, что делает -m
, я думаю, я видел в какой-то документации, что -m
по умолчанию имеет 10 потоков, но сколько процессов порождается?Я знаю, что вы можете переопределить эти настройки, но что по умолчанию с -m
?
should_prohibit_multiprocessing, unused_os =ShouldProhibitMultiprocessing()
if should_prohibit_multiprocessing:
DEFAULT_PARALLEL_PROCESS_COUNT = 1
DEFAULT_PARALLEL_THREAD_COUNT = 24
else:
DEFAULT_PARALLEL_PROCESS_COUNT = min(multiprocessing.cpu_count(), 32)
DEFAULT_PARALLEL_THREAD_COUNT = 5
Также команда mv
в цикле for
воспользуется преимуществом -m
или будет просто кормить gsutil
команда по одной делает рендеринг параллельно устаревшим?Причина, по которой я спрашиваю, потому что для выполнения описанного ниже цикла с 50000 файлами потребовалось 24 часа, я хотел знать, использовал ли я опцию -m
, если это помогло бы?Не уверен, что при вызове команды gsutil
каждая итерация позволит выполнить полную многопоточность, или она просто сделает это с 10 процессами и 10 потоками, увеличивая ее вдвое?
#!/bin/bash
for files in $(cat listing2.txt) ; do
echo "Renaming: $files --> ${files#removeprefix-}"
gsutil mv gs://testbucket/$files gs://testbucket/${files#removeprefix-}
done