class_docstr: Timer class that explicitly uses self.inner
  
  which is an undocumented implementation detail of CPython,
  not shared by PyPy.
docstr: Time 'number' executions of the main statement.
  
  To be precise, this executes the setup statement once, and
  then returns the time it takes to execute the main statement
  a number of times, as a float measured in seconds.  The
  argument is the number of times through the loop, defaulting
  to one million.  The main statement, the setup statement and
  the timer function to be used are passed to the constructor.
docstr_tok: ["Time","'number","'","executions","of","the","main","statement",".","To","be","precise",",","this","executes","the","setup","statement","once",",","and","then","returns","the","time","it","takes","to","execute","the","main","statement","a","number","of","times",",","as","a","float","measured","in","seconds",".","The","argument","is","the","number","of","times","through","the","loop",",","defaulting","to","one","million",".","The","main","statement",",","the","setup","statement","and","the","timer","function","to","be","used","are","passed","to","the","constructor","."]
code: def timeit(self, number=timeit.default_number):
      """Time 'number' executions of the main statement.
  
      To be precise, this executes the setup statement once, and
      then returns the time it takes to execute the main statement
      a number of times, as a float measured in seconds.  The
      argument is the number of times through the loop, defaulting
      to one million.  The main statement, the setup statement and
      the timer function to be used are passed to the constructor.
      """
      it = itertools.repeat(None, number)
      gcold = gc.isenabled()
      gc.disable()
      try:
          timing = self.inner(it, self.timer)
      finally:
          if gcold:
              gc.enable()
      return timing
  
imports: from __future__ import print_function
  from __future__ import absolute_import
  import ast
  import bdb
  import gc
  import itertools
  import os
  import sys
  import time
  import timeit
  from pdb import Restart
  from IPython.core import oinspect
  from IPython.core import magic_arguments
  from IPython.core import page
  from IPython.core.error import UsageError
  from IPython.core.macro import Macro
  from IPython.core.magic import Magics, magics_class, line_magic, cell_magic, line_cell_magic, on_off, needs_local_scope
  from IPython.testing.skipdoctest import skip_doctest
  from IPython.utils import py3compat
  from IPython.utils.py3compat import builtin_mod, iteritems, PY3
  from IPython.utils.contexts import preserve_keys
  from IPython.utils.capture import capture_output
  from IPython.utils.ipstruct import Struct
  from IPython.utils.module_paths import find_mod
  from IPython.utils.path import get_py_filename, shellglob
  from IPython.utils.timing import clock, clock2
  from warnings import warn
  from logging import error
label_desc: Use image node_id 1 for calling the Timer obj's underlying member method code with example usage: obj.timeit(number) and returns: timing