簡體   English   中英

如何計算函數用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM