[英]How can I vectorize or optimize a function to reduce the time taken in python?
[英]How can I calculate the time taken by a function to get executed with python?
我通過子進程調用了ping命令。 我計算出的時差低於運行時間。
延遲:361.953 [實際操作時間]
created_latency:0.7531721591949463 [使用python計算]
如果python逐行執行,則計算的延遲將高於原始延遲。 我不確定發生了什么以及如何計算函數調用的時間。
import subprocess
import shlex
import re
import time
from datetime import datetime
command_line = "ping -c 1 {}".format('yahoo.com')
args = shlex.split(command_line)
try:
start = time.time()
output = subprocess.check_output(args)
end = time.time()
ping_latency_calculated = end - start
result = str(output).strip("b'")
m = re.search(r"\/(\d+\.\d+)\/", result)
ping_latency = m.group(1)
result = {'latency': ping_latency, 'calculated_latency': ping_latency_calculated}
except subprocess.CalledProcessError as e:
result = {'Status': 'Ping Failed', 'time': datetime.fromtimestamp(time.time())}
return result
calculated_latency
以秒計數和latency
以毫秒為單位計數。
因此,您實際得到的結果是:
latency: 361.953 ms
calculated_latency: 753.1721591949463 ms
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.