Simple profiling using standard
Usually a command similar to the one below is used to profile an application:
python -m cProfile -o app.prof app.py arg1 arg2
The issue with packaged application
One can't simply do this when python sources are packaged in some kind of binary container like py2exe, because in this case application is interpreted by a builtin interpreter and it's not as easy to run profiler.
Just run profiler in code. Given something like:
# all other actions if __name__ == '__main__': # main actions
Turn it into:
# all other actions def main(): # main actions if __name__ == '__main__': cPythoh.run('main()', filename='path/to/app.prof')
It's not that hard to get how to do this, but as I usually don't profile code written in python, it took some time to get this done.