class_docstr: Benchmark that times performance of chunk graph assigner
code: def time_assigner(self):
      start_ops = list(GraphAnalyzer._iter_start_ops(self.chunk_graph))
      band_resource = {
          (f"worker-{i}", "numa-0"): Resource(num_cpus=16)
          for i in range(50)
      }
      current_assign = {}
      assigner = GraphAssigner(
          self.chunk_graph, start_ops, band_resource
      )
      assigned_result = assigner.assign(current_assign)
      assert len(assigned_result) == len(start_ops)
  
file_path: mars/benchmarks/asv_bench/benchmarks/graph_assigner.py
imports: import random
  import tracemalloc
  import mars.tensor
  import mars.dataframe
  from mars.core.graph import TileableGraph, TileableGraphBuilder, ChunkGraphBuilder
  from mars.resource import Resource
  from mars.services.task.analyzer import GraphAnalyzer
  from mars.services.task.analyzer.assigner import GraphAssigner
label_desc: Use image node_id 2 for calling the ChunkGraphAssignerSuite obj's underlying member method code with example usage: obj.time_assigner() without return types