F2py的多处理异常加速

2024-04-23 21:38:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python前端和一个fortran后端,使用F2py为fortran函数调用python包装函数“gBulk\u kZ”。 我在比较两种方法的时间。第一种是多处理,第二种只是使用map函数。在一个处理器上运行多处理可以提高x100的速度。如果我将处理器选项留空,那么它将在大约14.0毫秒内运行。 为什么在我只使用一个处理器的情况下,多处理比映射快得多?你知道吗

方法1:时间=6.9ms

pool = multiprocessing.Pool(1)
g = partial(gBulk_kZ,m,n,s_lat)
glist = pool.map(g,Elist)
pool.close()
pool.join()

方法二:时间=690.4ms

g = partial(gBulk_kZ,m,n,s_lat)
glist = map(g,Elist)

然后他们用同样的方式写出来。你知道吗


Tags: 方法函数map时间处理器partialmspool
1条回答
网友
1楼 · 发布于 2024-04-23 21:38:01

我现在可以回答我自己的问题了。 我用的是时钟()测量时间。 由于某些原因,这不起作用。 时间。时间()给出了预期的答案。 我的错。你知道吗

相关问题 更多 >