如何找出Python中函数每分钟执行了多少次?

How to find out how many times a minute a function is executed in Python?

我有一个函数,我想知道这个函数每分钟执行了多少次

例如,每1分钟写一次:

204 hash/m

这是我的功能

def test_hash_abc(difficulty):
    x = 0
    while 1:
        y = hashlib.sha256("hello world{}".format(x).encode('utf-8')).hexdigest()
        if y[0:len(difficulty)] == str(difficulty) :
            print(y)
            x+= 1
        else : x+= 1


test_hash_abc('ffff')

不能说每分钟,但您可以使用 line_profiler 模块,该模块每次点击的时间 table 在线

您的函数包含 while 1,在您的情况下这是一个无限循环(因为您永远不会跳出循环)。我假设您想查看代码 under while 1 每分钟运行多少次。在这种情况下,请尝试以下操作:

import hashlib
import time

def test_hash_abc(difficulty):
    x = 0
    counter = 0
    while 1:
        start = time.time()
        while time.time() - start < 60:
            y = hashlib.sha256("hello world{}".format(x).encode('utf-8')).hexdigest()
            if y[0:len(difficulty)] == str(difficulty) :
                print(y)
                x+= 1
            else:
                x+= 1
            counter += 1
        print('{} hash/m'.format(counter))

test_hash_abc('ffff')

请注意,删除 print(y) 会导致每分钟执行次数增加。