omo posso paralelizar um pipeline de geradores / iteradores em Pytho

Suponha que eu tenha algum código Python como o seguinte:

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)

Este código lê cada linha do arquivo de entrada, executa-o através de várias funções e grava a saída no arquivo de saída. AgoraI saiba que as funçõesprocess_line, process_item egenerate_output_line nunca irá interferir um com o outro, e vamos assumir que os arquivos de entrada e saída estejam em discos separados, para que a leitura e a gravação não interfiram entre s

Mas Python provavelmente não sabe nada disso. Meu entendimento é que o Python lerá uma linha, aplicará cada função sucessivamente e gravará o resultado na saída, e então lerá a segunda linha somentedepois d enviando a primeira linha para a saída, para que a segunda linha não entre no pipeline até que a primeira saia. Entendo corretamente como esse programa fluirá? Se é assim que funciona, existe alguma maneira fácil de fazer com que várias linhas possam estar no pipeline de uma só vez, para que o programa esteja lendo, gravando e processando cada etapa em paralelo?

questionAnswers(1)

yourAnswerToTheQuestion