code: def test_benchmark(self) -> None:
      tests = [
          (2048, d) for d in [100, 200, 400, 800, 1600, 3200, 6400]
      ]
      print("\nEnumerator benchmark:")
      for world_size, num_tables in tests:
          t = self.measure(world_size, num_tables)
          print(
              f"world_size={world_size:8} num_tables={num_tables:8} enumerate={t:4.2f}s"
          )
  
imports: import time
  import unittest
  from typing import List, Tuple
  from torch import nn
  from torchrec.distributed.embedding_types import EmbeddingComputeKernel
  from torchrec.distributed.embeddingbag import EmbeddingBagCollectionSharder
  from torchrec.distributed.planner.constants import BATCH_SIZE
  from torchrec.distributed.planner.enumerators import EmbeddingEnumerator
  from torchrec.distributed.planner.types import Topology
  from torchrec.distributed.test_utils.test_model import TestSparseNN
  from torchrec.distributed.types import ModuleSharder, ShardingType
  from torchrec.modules.embedding_configs import EmbeddingBagConfig
label_desc: Use image node_id 3 for calling the TestEnumeratorBenchmark obj's underlying member method code with example usage: obj.test_benchmark() without return types