我有一个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)
然后他们用同样的方式写出来。你知道吗
我现在可以回答我自己的问题了。 我用的是时钟()测量时间。 由于某些原因,这不起作用。 时间。时间()给出了预期的答案。 我的错。你知道吗
相关问题 更多 >
编程相关推荐