Medición del rendimiento del tiempo de código

1. Utilice opencv para medir el rendimiento

La función cv.getTickCount devuelve el número de ciclos de reloj desde el evento de referencia (como el momento en que se enciende la máquina) hasta el momento en que se llama a esta función. Por lo tanto, si lo llama antes y después de que se ejecute la función, obtendrá el número de ciclos de reloj utilizados para ejecutar la función.
La función cv.getTickFrequency devuelve la frecuencia de los ciclos de reloj o el número de ciclos de reloj por segundo.
El código de medida es el siguiente:

import cv2 as cv
e1 = cv.getTickCount()  #开始时间
#测量实现代码
a = 1
b = 1
c = a + b
print(c)
e2 = cv.getTickCount()   #结束时间

time = (e2 - e1)/ cv.getTickFrequency()   #时间性能
print(time)     

2. Utilice la función time.time () del módulo de tiempo

Puede utilizar time.time () en lugar de la función cv.getTickCount ().

import time
e1 = time.time()  #开始时间
#测量代码
for i in range(100000000):
    pass
e2 = time.time()   #结束时间
time = (e2 - e1)  #时间性能
print(time)

3. Utilice datetime para obtener la fecha actual para el cálculo.

Utilice la función datetime.datetime.now ()

import cv2 as cv
import datetime

e1 = datetime.datetime.now()  #开始时时间
#测量代码
img = cv.imread('1.JPG')
img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
for i in range(100000):
    z = cv .countNonZero(img)
    
e2 = datetime.datetime.now()   #结束时间
time = (e2 - e1)  #时间性能  是一个datetime结构 形如 0:00:01.667378
print(time.seconds)

4. Use time.clock () para obtener el tiempo de ejecución de la CPU

import time
import cv2 as cv
e1 = time.clock()
#测量代码
img = cv.imread('1.JPG')
img = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
for i in range(100000):
    z = cv .countNonZero(img)
    
e2 = time.clock()   #结束时间
time = (e2 - e1) 
print(time)  

4. Medir el rendimiento en IPython

Con la optimización de numpy ahora, algunas funciones en cv, numpy y numpy pueden alcanzar la misma velocidad, como las siguientes dos:

z = cv.countNonZero(img)
z = np.count_nonzero(img) 

Supongo que te gusta

Origin blog.csdn.net/qq_41214679/article/details/112829209
Recomendado
Clasificación