【问题标题】:How to auto-optimize a Python application?如何自动优化 Python 应用程序?
【发布时间】:2011-09-11 14:11:20
【问题描述】:

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

我想做的是让优化程序能够修改这 100 个整数值,并在夜间运行数千次测试,并找出哪些参数集可以让 Python 程序在最短的时间内完成。

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

【问题讨论】:

    标签: performance optimization performance-testing


    【解决方案1】:

    如果每个变量的效果独立于其他变量,您可以使用脚本依次优化每个变量...如果每个变量可以假设 k 值并且有 n 个变量,这是 O( nk)。如果变量可能以完全任意的方式影响彼此对性能的影响,则必须枚举并测试所有 O(k^n) 分配。如果您介于两者之间,那么描述算法会有点困难。

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

    【讨论】:

    • +1。变量是独立的。我认为必须有一个工具来解决这个问题,因为它对很多应用程序都很有用。
    猜你喜欢
    • 2020-04-16
    • 1970-01-01
    • 2020-12-22
    • 2021-08-13
    • 1970-01-01
    • 2022-06-11
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多