pytest和并行程序基准测试

2024-04-26 15:02:14 发布

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

我在用py.测试对两个版本的算法进行基准测试的模块和显示的结果比手动运行程序时得到的结果要低得多。第一个变量是参考算法,而另一个变量通过并行化来改进参考算法的执行。对于并行化,我使用multiprocessing.Process。基准测试显示并行版本的执行时间为~4s(而顺序版本的执行时间为~90秒),这非常好。然而,当我手动运行并行版本时,它需要超过4秒的时间(我甚至无法完成执行,我的PC超载(所有内核在htop中的使用率跳到100%),我被迫中断执行。是的,我在创建进程之前已经添加了if __name__ == '__main__'部分。在

我已经对第一个变体进行了计时时间。时间()和时间时钟()并且它们都显示大约100秒(这仍然比pytest显示的要高,但是由于执行时间取决于初始随机设置,这可能是可以理解的)。在

我在文档中搜索过,但找不到任何解释为什么会发生这种情况。你有什么想法吗?是py.测试即使是测试并行程序的好方法,你还有什么其他建议吗?在


Tags: 模块py程序版本算法顺序时间基准