1
我使用多处理在Python并行运行我的代码,如下所示,Python的多处理
result1 = pool.apply_async(set1, (Q, n))
result2 = pool.apply_async(set2, (Q, n))
SET1和SET2是两个独立的功能,这个代码是在while循环。
然后我试运行时间,如果我按顺序运行我的代码,在特定参数,它是10秒,但是,当我在并行运行,只用了约0.2秒。我用time.clock()来记录时间。为什么运行时间减少了很多,对于并行编程的直觉思维,不应该平行的时间在5秒到10秒之间?我不知道如何在我的报告中分析这个...任何人都可以提供帮助吗?由于
你最终调用'result1.get()'吗?你是否检查过两种变体(顺序/并行)产生相同的结果?你可以使用'timeit.default_timer()'而不是'time.clock()'。或者从命令行调用它:'your_module import setup'中的'python -mtimeit -s',运行; setup();“ “run()的”' – jfs