code: def main():
      args = parse_args()
  
      first_result = load_benchmark_result(args.first_report)
      second_result = load_benchmark_result(args.second_report)
  
      benchmark_in_first = set(first_result.result.keys())
      benchmark_in_second = set(second_result.result.keys())
  
      first_but_not_second = benchmark_in_first.difference(
          benchmark_in_second
      )
      second_but_not_first = benchmark_in_second.difference(
          benchmark_in_first
      )
      in_both = benchmark_in_first.intersection(benchmark_in_second)
  
      if first_but_not_second:
          log_benchmark_not_in_both_report(
              diff=first_but_not_second,
              in_result=first_result,
              not_in_result=second_result,
          )
  
      if second_but_not_first:
          log_benchmark_not_in_both_report(
              diff=second_but_not_first,
              in_result=second_result,
              not_in_result=first_result,
          )
  
      if not in_both:
          log_no_overlapped_benchmark_result(
              first_result, second_result
          )
          return
  
      is_faster = False if args.slower else True
      alpha = args.alpha
  
      significant = {}
      not_significant = {}
      for benchmark_test in in_both:
          ttest_result = run_welchs_ttest(
              stat1=first_result.result[benchmark_test],
              stat2=second_result.result[benchmark_test],
              alpha=alpha,
              faster=is_faster,
          )
  
          if ttest_result.p_value < alpha:
              significant[benchmark_test] = ttest_result
          else:
              not_significant[benchmark_test] = ttest_result
  
      order = "faster" if is_faster else "slower"
  
      if not_significant:
          log_not_significant_benchmark_result(
              not_significant,
              first_result.label,
              second_result.label,
              order,
              alpha,
          )
  
      if significant:
          log_significant_benchmark_result(
              significant,
              first_result.label,
              second_result.label,
              order,
              alpha,
          )
  
imports: import argparse
  import collections
  import logging
  import json
  import os
  from operator import attrgetter
  import numpy
  from scipy.stats import t
label_desc: Use image node_id 9 for calling a global function with example usage: main() without return types