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