我试图在多池中运行上的每个进程cProfile.runctx(),得到一个什么样的多瓶颈是我的源代码的想法。 这里是什么,我试图做一个简单的例子:
from multiprocessing import Pool
import cProfile
def square(i):
return i*i
def square_wrapper(i):
cProfile.runctx("result = square(i)",
globals(), locals(), "file_"+str(i))
# NameError happens here - 'result' is not defined.
return result
if __name__ == "__main__":
pool = Pool(8)
results = pool.map_async(square_wrapper, range(15)).get(99999)
print results
不幸的是,试图执行“结果=方(I)”的探查不会影响它是从所谓的范围“结果”。 我怎么能做到什么,我想在这里做什么?