I'm using an extension to Python (2.7.2) written in Fortran (gfortran 4.4.7) compiled via f2py (Ver. 2).
I can profile the Python part with cProfile
, but the result does not give any information about the Fortran functions. Instead the time is attributed to the Python function calling the Fortran function.
I have enabled the "-pg -O" flags for all Fortran objects I build, as well as in the f2py call creating the shared object via: f2py --opt="-pg -O"
...
Any hint on how to get the Fortran informations too is highly appreciated.
If anyone uses a similar set-up, with a different profiler, I'd also be interested.
if __name__=="__main__":
part of python modules. So I suggest to write a separate Fortran program to profile this part separately.<ipython-input-51-f4bf36c6a947>:84(<module>)
. It's true you can't identify which module is being called but it gives you an idea. Another way is to wrap it into a Python function and then see timing for the Python function.