class_docstr: a framework for benchmarking the optimizer
  
  Parameters
  ----------
  function_name : string
  fun : callable
  der : callable
      function that returns the derivative (jacobian, gradient) of fun
  hess : callable
      function that returns the hessian of fun
  minimizer_kwargs : kwargs
      additional keywords passed to the minimizer.  e.g. tol, maxiter
class_docstr_tok: ["a","framework","for","benchmarking","the","optimizer","Parameters","--","--","--","--","--","function_name",":","string","fun",":","callable","der",":","callable","function","that","returns","the","derivative","(","jacobian",",","gradient",")","of","fun","hess",":","callable","function","that","returns","the","hessian","of","fun","minimizer_kwargs",":","kwargs","additional","keywords","passed","to","the","minimizer",".","e.g",".","tol",",","maxiter"]
docstr: print the current list of results
docstr_tok: ["print","the","current","list","of","results"]
code: def print_results(self):
      """print the current list of results"""
      results = self.average_results()
      results = sorted(results, key=lambda x: (x.nfail, x.mean_time))
      if not results:
          return
      print("")
      print("=========================================================")
      print("Optimizer benchmark: %s" % (self.function_name))
      print(
          "dimensions: %d, extra kwargs: %s"
          % (results[0].ndim, str(self.minimizer_kwargs))
      )
      print(
          "averaged over %d starting configurations"
          % (results[0].ntrials)
      )
      print("  Optimizer    nfail   nfev    njev    nhev    time")
      print("---------------------------------------------------------")
      for res in results:
          print(
              "%11s  | %4d  | %4d  | %4d  | %4d  | %.6g"
              % (
                  res.name,
                  res.nfail,
                  res.mean_nfev,
                  res.mean_njev,
                  res.mean_nhev,
                  res.mean_time,
              )
          )
  
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 6 for calling the _BenchOptimizers obj's underlying member method code with example usage: obj.print_results() without return types