Да в общем. Опять же ... это зависит от вашего кода.

оложим, у меня есть некоторый код Python, подобный следующему:

input = open("input.txt")
x = (process_line(line) for line in input)
y = (process_item(item) for item in x)
z = (generate_output_line(item) + "\n" for item in y)
output = open("output.txt", "w")
output.writelines(z)

Этот код читает каждую строку из входного файла, пропускает ее через несколько функций и записывает вывод в выходной файл. В настоящее времяI знать, что функцииprocess_line, process_item, а такжеgenerate_output_line никогда не будут мешать друг другу, и давайте предположим, что входные и выходные файлы находятся на отдельных дисках, так что чтение и запись не будут мешать друг другу.

Но Python, вероятно, ничего этого не знает. Насколько я понимаю, Python будет читать одну строку, применять каждую функцию по очереди и записывать результат в вывод, а затем будет читать только вторую строкупосле отправка первой строки на выход, чтобы вторая строка не входила в конвейер до тех пор, пока не выйдет первая. Я правильно понимаю, как эта программа будет течь? Если это так, то есть ли простой способ сделать так, чтобы несколько конвейеров могли быть в конвейере одновременно, чтобы программа считывала, записывала и обрабатывала каждый шаг параллельно?

Ответы на вопрос(1)

Ваш ответ на вопрос