Вот тестовый скрипт:
from gevent.monkey import patch_all; patch_all()
import subprocess
from subprocess import STDOUT
from tempfile import NamedTemporaryFile
import datetime
with NamedTemporaryFile() as f:
print('Subprocess call at {}'.format(datetime.datetime.now()))
ret = subprocess.check_call(['iptables', '-t', 'mangle', '-L', '-vx'], stdout = f, stderr = STDOUT)
print('Subprocess call end at {}'.format(datetime.datetime.now()))
При patch_all
время выполнения обычно составляет около 600 мс, а без patch_all
- всего ~ 30 мс. Поэтому мне было интересно, что делает это, и что я могу сделать, чтобы уменьшить задержку?