Switch to side-by-side view

--- a
+++ b/tools/analysis/bench_processing.py
@@ -0,0 +1,65 @@
+# Copyright (c) OpenMMLab. All rights reserved.
+"""This file is for benchmark dataloading process. The command line to run this
+file is:
+
+$ python -m cProfile -o program.prof tools/analysis/bench_processing.py
+configs/task/method/[config filename]
+
+It use cProfile to record cpu running time and output to program.prof
+To visualize cProfile output program.prof, use Snakeviz and run:
+$ snakeviz program.prof
+"""
+import argparse
+import os
+
+import mmcv
+from mmcv import Config
+
+from mmaction import __version__
+from mmaction.datasets import build_dataloader, build_dataset
+from mmaction.utils import get_root_logger
+
+
+def main():
+    parser = argparse.ArgumentParser(description='Benchmark dataloading')
+    parser.add_argument('config', help='train config file path')
+    args = parser.parse_args()
+    cfg = Config.fromfile(args.config)
+
+    # init logger before other steps
+    logger = get_root_logger()
+    logger.info(f'MMAction2 Version: {__version__}')
+    logger.info(f'Config: {cfg.text}')
+
+    # create bench data list
+    ann_file_bench = 'benchlist.txt'
+    if not os.path.exists(ann_file_bench):
+        with open(cfg.ann_file_train) as f:
+            lines = f.readlines()[:256]
+            with open(ann_file_bench, 'w') as f1:
+                f1.writelines(lines)
+    cfg.data.train.ann_file = ann_file_bench
+
+    dataset = build_dataset(cfg.data.train)
+    data_loader = build_dataloader(
+        dataset,
+        videos_per_gpu=cfg.data.videos_per_gpu,
+        workers_per_gpu=0,
+        persistent_workers=False,
+        num_gpus=1,
+        dist=False)
+
+    # Start progress bar after first 5 batches
+    prog_bar = mmcv.ProgressBar(
+        len(dataset) - 5 * cfg.data.videos_per_gpu, start=False)
+    for i, data in enumerate(data_loader):
+        if i == 5:
+            prog_bar.start()
+        for _ in data['imgs']:
+            if i < 5:
+                continue
+            prog_bar.update()
+
+
+if __name__ == '__main__':
+    main()