class_docstr: Benchmark the global optimizers using the go_benchmark_functions
  suite
class_docstr_tok: ["Benchmark","the","global","optimizers","using","the","go_benchmark_functions","suite"]
code: def track_all(self, name, ret_value, solver):
      if name in self.results and solver in self.results[name]:
          # have we done the function, and done the solver?
          # if so, then just return the ret_value
          av_results = self.results[name]
          if ret_value == "success%":
              return (
                  100
                  * av_results[solver]["nsuccess"]
                  / av_results[solver]["ntrials"]
              )
          elif ret_value == "<nfev>":
              return av_results[solver]["mean_nfev"]
          else:
              raise ValueError()
  
      klass = self._functions[name]
      f = klass()
      try:
          b = _BenchOptimizers.from_funcobj(name, f)
          with np.errstate(all="ignore"):
              b.bench_run_global(
                  methods=[solver], numtrials=self.numtrials
              )
  
          av_results = b.average_results()
  
          if name not in self.results:
              self.results[name] = {}
          self.results[name][solver] = av_results[solver]
  
          if ret_value == "success%":
              return (
                  100
                  * av_results[solver]["nsuccess"]
                  / av_results[solver]["ntrials"]
              )
          elif ret_value == "<nfev>":
              return av_results[solver]["mean_nfev"]
          else:
              raise ValueError()
      except Exception:
          print("".join(traceback.format_exc()))
          self.results[name] = "".join(traceback.format_exc())
  
imports: import os
  import time
  import inspect
  import json
  import traceback
  from collections import defaultdict
  import numpy
  from .None import test_functions
  from .None import go_benchmark_functions
  from .common import Benchmark, is_xslow, safe_import
  from .lsq_problems import extract_lsq_problems
label_desc: Use image node_id 4 for calling the BenchGlobal obj's underlying member method code with example usage: obj.track_all(name, ret_value, solver) and returns: unknown, unknown, av_results, av_results