Привязана ли моя программа к процессору или вводу-выводу при работе с подпроцессами?

#python #multithreading #console #python-asyncio #python-multithreading

#python #многопоточность #консоль #python-asyncio #python-многопоточность

Вопрос:

Используя Python, я пытаюсь выяснить, следует ли мне использовать multiprocessing , threading или asyncio , и первый шаг — выяснить, привязана ли моя программа к процессору или к вводу-выводу.

Самая медленная часть моего кода взаимодействует с подпроцессом, который был создан до асинхронного программирования. Соответствующий код выглядит следующим образом:

     # First curl command to existing JS console running on my machine
    curl_command = <curl command here>
    cmd = shlex.split(curl_command)
    subprocess.Popen(cmd, stderr=subprocess.DEVNULL)

    # Different curl command
    self.other_command = self._other_curl_command()

    # Interact with an existing JS console running on my machine
    output_one = call_one()
    output_two = call_two()
    output_three = call_three()
  

Важно отметить, что эти вызовы относятся к консоли JS, запущенной на моем компьютере. Связаны ли эти операции ввода-вывода? Если да, должен ли я использовать threading / asyncio ?

Комментарии:

1. Трудно сказать, что делает этот код. Возвращаемое значение subprocess.Popen() не сохраняется в переменной. Что делают call_one() и другие функции?