1. Learn
  2. /
  3. Cursuri
  4. /
  5. Scrierea funcțiilor în Python

Connected

exercițiu

Măsurarea costului de performanță al decoratorilor

Șeful tău a scris un decorator numit check_everything(), de care este foarte mândru, și insistă să îl folosești pe funcțiile tale. Ai observat însă că, atunci când îl aplici, funcțiile rulează mult mai lent. Trebuie să îl convingi că decoratorul adaugă prea mult timp de procesare. Pentru asta, vei măsura cât durează execuția funcției decorate și vei compara cu cât ar fi durat fără decorator. Acesta este decoratorul în cauză:

def check_everything(func):
  @wraps(func)
  def wrapper(*args, **kwargs):
    check_inputs(*args, **kwargs)
    result = func(*args, **kwargs)
    check_outputs(result)
    return result
  return wrapper

Instrucțiuni

100 XP
  • Apelează funcția originală în loc de versiunea decorată, folosind un atribut pe care instrucțiunea wraps() din decoratorul șefului tău l-a adăugat funcției decorate.