gpt4 book ai didi

多次执行 Python 脚本运行速度变慢

转载 作者:行者123 更新时间:2023-12-05 07:43:12 26 4
gpt4 key购买 nike

我有一个正常运行时间约为 90 秒的 python 脚本。但是,当我只更改其中的一些小东西(比如在我的最终 pyplot 图中交替使用颜色)并因此快速连续多次执行它时,它的运行时间增加了近 10 分钟。

我正在做的一些要点:

  • 我没有下载任何东西,也没有使用我的脚本创建新文件。
  • 我只是使用 numpy.genfromtxt 打开一些本地保存的 .dat 文件,然后用它们处理一些数字。
  • 我将数据转换为 rec-array,并通过 array.columnname 广泛使用索引。
  • 对于每个文件,我循环遍历一系列标准,这些标准基本上构成了用于评估的不同最大值和最小值,并嵌入其中,我在数据数组的行上使用了一个内部循环。一些 if 在这里和那里,但没有什么特别的,真的。
  • 我使用multiprocessing模块如下

    import multiprocessing

    npro = multiprocessing.cpu_count() # Count the number of processors
    pool = multiprocessing.Pool(processes=npro)
    bigdata = list(pool.map(analyze, range(len(FileEndings))))
    pool.close()

    analyze 是我的主要函数,FileEndings 是它的输入,一个字符串,用于创建我要加载和评估的文件的正确名称。之后,我第二次使用它

    pool2 = multiprocessing.Pool(processes=npro)
    listofaverages = list(pool2.map(averaging, range(8)))
    pool2.close()

    求平均是我的另一个函数。

  • 我使用 numba 的 @jit 装饰器来加速我在内部循环、nogilnopythoncache 全部设置为 True。将这些注释掉并不能解决问题。
  • 我在 Ubuntu 16.04 上运行 scipt,并使用最新的 Anaconda 构建的 python 进行编译。
  • 大部分时间我在 PyCharm 中编写代码并在其控制台中运行它。但是,更改为 bash 也无济于事。
  • 只需大约 3 分钟不运行脚本即可让它恢复到正常运行时间。
  • 使用 htop 显示所有处理器在运行时都处于满负荷状态。我还看到很多源自 PyCharm 的进程(大约 50 个),每个进程的 MEM% 都等于 7.9。大多数的 CPU% 为 0,少数异常(exception)在几个 % 的范围内。

有没有人遇到过这样的问题?如果是这样,有什么建议可能有帮助吗?还是我使用的任何东西都容易导致这些问题?

最佳答案

可能是关闭了,问题是我机器的风扇故障引起的。

关于多次执行 Python 脚本运行速度变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43889569/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com