如何自动优化Python应用程序?

时间:2011-09-11 14:11:20

标签: performance optimization performance-testing

我有一个复杂的Python服务器应用程序,它是基于批处理的。我希望这个应用程序尽可能快地工作。在这个应用程序中,可能有100个整数常量,它们以某种方式影响应用程序的性能。这些可能类似initial size of a dictionary,设置外部程序的内存限制。

我想要做的是启用一个优化器程序来修改这100个整数值并在晚上运行数千个测试,并找出Python程序在最短时间内完成的参数集。

这样的事情存在吗?我想我可以使用EXEC语句和替换函数来修改整数。

1 个答案:

答案 0 :(得分:2)

如果每个变量的效果独立于其他变量,则可以使用脚本依次优化每个变量...如果每个变量都可以假设k值并且有n个变量,则为O( NK)。如果变量可能会影响彼此对性能的影响是完全任意的方式,则必须枚举并测试所有O(k ^ n)赋值。如果你介于两者之间,它会使算法变得更难一点。

关于机制,只要你弄清楚哪些配置是有意义的(如上所述),使用例如一个简单的脚本/程序。执行或时间应该工作。即使一个工具确实存在,你仍然需要回答上述问题以避免蛮力O(k ^ n)解决方案......或者认识到这是你能做的最好的工作。