Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:Pstats似乎忽略了在fortran例程中花费的时间_Python_Fortran_Profiling_Pstats - Fatal编程技术网

Python:Pstats似乎忽略了在fortran例程中花费的时间

Python:Pstats似乎忽略了在fortran例程中花费的时间,python,fortran,profiling,pstats,Python,Fortran,Profiling,Pstats,我想分析一下调用fortran例程的python代码。 我使用这个PSTATS,但如下面的示例所示,PSTATS没有考虑在fortran例程中花费的时间 Fortran模块(mod_Fortran.f90): 调用fortran模块的Python脚本(test_fortranpstats.py): 用于打印分析统计信息的Python脚本(analysispstats.py): 教程(汇编和提交): 结果: $> time python -m profile -o output.pstats

我想分析一下调用fortran例程的python代码。 我使用这个PSTATS,但如下面的示例所示,PSTATS没有考虑在fortran例程中花费的时间

Fortran模块(mod_Fortran.f90):

调用fortran模块的Python脚本(test_fortranpstats.py):

用于打印分析统计信息的Python脚本(analysispstats.py):

教程(汇编和提交):

结果:

$> time python -m profile -o output.pstats test_fortran_pstats.py
sleep  10
0.236u 0.080s 0:13.58 2.2%  0+0k 47280+240io 1pf+0w
$>python analyse_pstats.py
Fri Apr  3 11:51:02 2015    output.pstats
11170 function calls (10981 primitive calls) in 0.180 seconds

Pstats仅计算0.180秒,而Fortran例程在10秒内“休眠”。

您使用
print\u stats(5)
是什么意思?您是否尝试生成输出文件并使用
python-mpstats
读取它?
from mod_fortran import *
mod_fortran.sub_sleep(10)
import pstats
ps = pstats.Stats('output.pstats')
ps.strip_dirs().sort_stats('tottime').print_stats(5)
f2py -c -m mod_fortran mod_fortran.f90
time python -m profile -o output.pstats test_fortran_pstats.py
python analyse_pstats.py
$> time python -m profile -o output.pstats test_fortran_pstats.py
sleep  10
0.236u 0.080s 0:13.58 2.2%  0+0k 47280+240io 1pf+0w
$>python analyse_pstats.py
Fri Apr  3 11:51:02 2015    output.pstats
11170 function calls (10981 primitive calls) in 0.180 seconds