def each(iterable = None, *, name = None, metric = call_default):
if iterable is None:<EOL><INDENT>return _each_decorator(name, metric)<EOL><DEDENT>else:<EOL><INDENT>return _do_each(iterable, name, metric)<EOL><DEDENT>
Measure time elapsed to produce each item of an iterable

    :arg iterable: any iterable
    :arg function metric: f(name, 1, time)
    :arg str name: name for the metric