<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/datasets/blob/v4.9.10/tensorflow_datasets/core/utils/benchmark.py#L240-L276) |

Benchmarks any iterable (e.g [`tf.data.Dataset`](https://www.tensorflow.org/api_docs/python/tf/data/Dataset)).

    tfds.benchmark(
        ds: Iterable[Any], *, num_iter: Optional[int] = None, batch_size: int = 1
    ) -> BenchmarkResult

### Used in the notebooks

| Used in the tutorials |
|---|
| - [TensorFlow Datasets](https://www.tensorflow.org/datasets/overview) |

#### Usage:

    ds = tfds.load('mnist', split='train')
    ds = ds.batch(32).prefetch(buffer_size=tf.data.AUTOTUNE)
    tfds.benchmark(ds, batch_size=32)

#### Reports:

- Total execution time
- Setup time (first warmup batch)
- Number of examples/sec

<br />

<br />

<br />

| ## Args ||
|---|---|
| `ds` | Dataset to benchmark. Can be any iterable. Note: The iterable will be fully consumed. |
| `num_iter` | Number of iteration to perform (iteration might be batched) |
| `batch_size` | Batch size of the dataset, used to normalize iterations |

<br />

<br />

<br />

<br />

| ## Returns ||
|---|---|
| `statistics` | The recorded statistics, for eventual post-processing |

<br />