class_docstr: Some common benchmarks that help understand perf bottleneck of a standard dataloader
  made of dataset, mapper and sampler.
class_docstr_tok: ["Some","common","benchmarks","that","help","understand","perf","bottleneck","of","a","standard","dataloader","made","of","dataset",",","mapper","and","sampler","."]
code: def _benchmark(self, iterator, num_iter, warmup, msg=None):
      avg, all_times = iter_benchmark(
          iterator, num_iter, warmup, self.max_time_seconds
      )
      if msg is not None:
          self._log_time(msg, avg, all_times)
      return avg, all_times
  
imports: import logging
  import numpy
  from itertools import count
  from typing import List, Tuple
  import torch
  import tqdm
  from fvcore.common.timer import Timer
  from detectron2.utils import comm
  from .build import build_batch_data_loader
  from .common import DatasetFromList, MapDataset
  from .samplers import TrainingSampler
label_desc: Use image node_id 2 for calling the DataLoaderBenchmark obj's underlying member method code with example usage: obj._benchmark(iterator, num_iter, warmup, msg) and returns: avg,  all_times