Módulo de subproceso Python mucho más lento que los comandos (en desuso)

Así que escribí un script que accede a un grupo de servidores usando nc en la línea de comandos, y originalmente usaba el módulo de comandos de Python y llamaba a command.getoutput () y el script se ejecutó en unos 45 segundos. Dado que los comandos están en desuso, quiero cambiar todo para usar el módulo de subproceso, pero ahora el script tarda 2m45s en ejecutarse. ¿Alguien tiene una idea de por qué esto sería?

Lo que tenía antes:

output = commands.getoutput("echo get file.ext | nc -w 1 server.com port_num")

ahora tengo

p = Popen('echo get file.ext | nc -w 1 server.com port_num', shell=True, stdout=PIPE)
output = p.communicate()[0]

Gracias de antemano por la ayuda!