Perfilado en Python

Python proporciona muchos módulos excelentes para medir las estadísticas de un programa. Esto nos permite saber dónde está gastando demasiado tiempo el programa y qué hacer para optimizarlo. Es mejor optimizar el código para aumentar la eficiencia de un programa. Entonces, realice algunas pruebas estándar para garantizar la optimización y podemos mejorar el programa para aumentar la eficiencia.

Uso de temporizadores:
los temporizadores son fáciles de implementar y se pueden usar en cualquier parte de un programa para medir el tiempo de ejecución. Mediante el uso de temporizadores podemos obtener la hora exacta y podemos mejorar el programa donde se tarda demasiado. Time El módulo proporciona los métodos para perfilar un programa.

Ejemplo 1:

# importing time module
import time
  
start = time.time()
print("Time Consumed")
print("% s seconds" % (time.time() - start))
Producción:

Time Consumed
0.01517796516418457 seconds

Ejemplo #2:

# importing time module
import time
  
def gfg():
    start = time.time()
    print("Time consumed")
    end = time.time()
    print("gfg() function takes", end-start, "seconds")
  
# Calling gfg
gfg()
Producción:

Time consumed
gfg() function takes 0.015180110931396484 seconds

 
Uso de line_profiler:
Python proporciona un módulo incorporado para medir el tiempo de ejecución y el nombre del módulo es LineProfiler. Brinda un informe detallado sobre el tiempo consumido por un programa.

Ejemplo:

# importing line_profiler module
from line_profiler import LineProfiler
  
def geek(rk):
    print(rk)
  
rk ="geeks"
profile = LineProfiler(geek(rk))
profile.print_stats()
Producción:

Timer unit: 4.27198e-10 s

 
Uso
de cProfile: Python incluye un módulo integrado llamado cProfile que se usa para medir el tiempo de ejecución de un programa. El módulo cProfiler proporciona toda la información sobre cuánto tiempo se ejecuta el programa y cuántas veces se llama a la función en un programa.

Código #1

# importing cProfile
import cProfile
  
cProfile.run("10 + 10")
Producción:

3 function calls in 0.000 seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.000    0.000 :1()
        1    0.000    0.000    0.000    0.000 {built-in method builtins.exec}
        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}

Código #2: cProfile para medir las estadísticas sobre cualquier función.

# importing cProfile
import cProfile
  
def f():
    print("hello")
cProfile.run('f()')
Producción:

hello
         5 function calls in 0.000 seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.000    0.000 3233da5f950795af777f4b63136f7efd.py:5(f)
        1    0.000    0.000    0.000    0.000 :1()
        1    0.000    0.000    0.000    0.000 {built-in method builtins.exec}
        1    0.000    0.000    0.000    0.000 {built-in method builtins.print}
        1    0.000    0.000    0.000    0.000 {method 'disable' of '_lsprof.Profiler' objects}

Publicación traducida automáticamente

Artículo escrito por bestharadhakrishna y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *