code: def execution_time(object):
      
  
      @functools.wraps(object)
      def execution_time_wrapper(*args, **kwargs):
          """
          Implements execution timing.
  
          :param \*args: Arguments.
          :type \*args: \*
          :param \*\*kwargs: Keywords arguments.
          :type \*\*kwargs: \*\*
          :return: Object.
          :rtype: object
          """
  
          start_time = time.time()
  
          value = object(*args, **kwargs)
  
          end_time = time.time()
  
          sys.stdout.write("{0} | '{1}' object processed during '{2:f}' ms!\n".format(__name__,
                                                                                      object.__name__,
                                                                                      (end_time - start_time) * 1000.0))
  
          return value
  
      return execution_time_wrapper
docs: | Implements execution timing.
      | Any method / definition decorated will have it's execution timed through information messages.
  
      :param object: Object to decorate.
      :type object: object
      :return: Object.
      :rtype: object