@
justou 不好意思,说的还是简单了,我再补偿下,Fortran 代码主要的就是上面这些了,其它的就是读文件里的数据给 lat 和 lon,已经定义变量了,其它的没有更多了,我也是怕会生成额外的计算耗时,所以不敢加多余的语句。编译器和编译代码都一样,编译器是 gfortran,Python 的代码也是读了赋给 lat 和 lon 的外就是 var=loop.test(lat,lon),剩下的就是 Fortran 函数自己去算了,但好像这个论坛上传不了文件,所以再现没大有可能。如果您愿意,咱们可以加个好友,我把数据文件发您,您在您那测一下,我肯定感激不尽。
附上个我测试 f2py 的性能数据:
real-time: 49.16020 #这是 Python 调用 Fortran 函数时,我计算的函数内部运算的耗时,
如果是允许 Fortran 编译器编译的,是 13.66936 这么长时间
/-----------------------\
< F2PY performance report >
\-----------------------/
Overall time spent in ...
(a) wrapped (Fortran/C) functions : 49705 msec
(b) f2py interface, 1 calls : 113 msec
(c) call-back (Python) functions : 0 msec
(d) f2py call-back interface, 0 calls : 0 msec
(e) wrapped (Fortran/C) functions (actual) : 49705 msec
Use -DF2PY_REPORT_ATEXIT_DISABLE to disable this message.
Exit status: 0