Para realizar un profile sencillo del código en Python se pueden usar:

import cProfile
import pstats

if __name__ == '__main__':

cProfile.run('main(sys.argv)', 'profile')
p = pstats.Stats('profile')
p.sort_stats("time")
p.print_stats()
main(sys.argv)
Este código imprimirá el tiempo de ejecución de todas las funciones a las que llama la función main ordenado de mayor a menor.

Updated: