我在使用f2py(Ver.2)編譯的Fortran(gfortran 4.4.7)中編寫的擴展名爲Python(2.7.2)。通過f2py Fortran擴展到Python:如何配置文件?
我可以使用cProfile
來剖析Python部分,但結果並不提供有關Fortran函數的任何信息。相反,時間歸因於調用Fortran函數的Python函數。
我已經啓用了「-pg O」標誌爲我打造,以及在f2py呼叫通過創建共享對象的所有的Fortran對象:f2py --opt="-pg -O"
...
如何得到任何提示Fortran信息也非常感謝。
如果有人使用類似的設置,使用不同的分析器,我也會感興趣。
FWIW,因爲這個原因,我停止使用f2py ......很難進入Fortran代碼,看看發生了什麼。問題在於Fortran代碼被C代碼包裝,進一步混淆了這種情況。 – SethMMorton 2013-05-14 18:23:59
也許你應該試試pythonic方法:將測試例程放在Python模塊的'if __name __ =='__ main __「:'部分是一個好習慣。所以我建議編寫一個單獨的Fortran程序來分別描述這個部分。 – Stefan 2013-05-15 06:39:10
Fortran函數調用顯示爲':84()'。確實,你無法確定哪個模塊被調用,但它給了你一個想法。另一種方法是將其封裝到Python函數中,然後查看Python函數的時間。 –
ilciavo
2015-06-23 16:42:50