title: Can we run multiple functions each with timeit in the same module
body: <p>I would like to write multiple functions in the same Python module, each of which is a separate profiling test using <code>timeit</code>, so that I can use command line argument to specify which one to run. A naive example (profiling.py) would be:</p>
  
  <pre><code>import sys
  import timeit
  
  def foo():
  
      setup = """
      import random
      """
  
      foo_1 = """
      for i in range(1000):
          random.randint(0, 99) + random.randint(0, 99)
      """
  
      foo_2 = """
      for i in range(1000):
          random.randint(0, 99) + random.randint(0, 99)
      """
  
      foo_3 = """
      for i in range(1000):
          random.randint(0, 99) + random.randint(0, 99)
      """
  
      print 'foo_1', timeit.Timer(foo_1, setup).timeit(1000)
      print 'foo_2', timeit.Timer(foo_2, setup).timeit(1000)
      print 'foo_3', timeit.Timer(foo_3, setup).timeit(1000)
  
  if __name__ == '__main__':
      if (len(sys.argv) &gt; 1):
          if (sys.argv[1] == 'foo'):
              foo()
      else:
          print 'Which profiling do you want to run?'
          print 'available:'
          print '    foo'
  </code></pre>
  
  <p>However, when I try <code>python profiling.py foo</code>, I get error like the following:</p>
  
  <pre><code>foo_1
  Traceback (most recent call last):
    File "profiling.py", line 32, in &lt;module&gt;
      foo()
    File "profiling.py", line 25, in foo
      print 'foo_1', timeit.Timer(foo_1, setup).timeit(1000)
    File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/timeit.py", line 136, in __init__
      code = compile(src, dummy_src_name, "exec")
    File "&lt;timeit-src&gt;", line 6
      _t0 = _timer()
                   ^
  IndentationError: unindent does not match any outer indentation level
  </code></pre>
  
  <p>I have searched for the usual space/tab indention error in the code, but didn't find any. Hence I wonder if it is because I wrap a <code>timeit</code> test inside a function, and this is not allowed?</p>