Since the debugger slows things down looking for stoppoing points. If you want to remove this overhead and have Python run closer to full speed, here's how you can remove the debugger hook:
sys.settrace(None)
If you need to turn it on subsequently:
pydb.debugger(status='continue')
If there's something you want to run before stepping you can do that
by monkey-patching Pdb.precmd:
import pydb
def myprecmd(obj, debug_cmd):
"""Hook method executed just after a command dispatch is finished."""
global _pydb_trace
obj.do_list('')
obj.do_where('10') # limit stack to at most 10 entries
return obj.old_precmd(debug_cmd) # is always string 's' in example below
_pydb_trace = pydb.Pdb()
pydb.Pdb.old_precmd = pydb.Pdb.precmd
pydb.Pdb.precmd = myprecmd
pydb.debugger(dbg_cmds=['s'] * 30)
See About this document... for information on suggesting changes.