gpt4 book ai didi

python - 如何加快 python 中的数组生成速度?

转载 作者:太空狗 更新时间:2023-10-29 22:20:27 24 4
gpt4 key购买 nike

我想我需要使用 numpy 或其他一些库来足够快地填充这些数组,但我对此了解不多。现在这个操作在四核英特尔 PC 上大约需要 1 秒,但我需要它尽可能快。任何帮助是极大的赞赏。谢谢!

import cv

class TestClass:

def __init__(self):

w = 960
h = 540

self.offx = cv.CreateMat(h, w, cv.CV_32FC1)
self.offy = cv.CreateMat(h, w, cv.CV_32FC1)

for y in range(h):
for x in range(w):
self.offx[y,x] = x
self.offy[y,x] = y

最佳答案

我的八岁(慢)计算机能够在 127 毫秒内创建与您的矩阵大小相同的列表列表。

C:\Documents and Settings\gdk\Desktop>python -m timeit "[[x for x in range(960)]
for y in range(540)]"
10 loops, best of 3: 127 msec per loop

我不知道 cv 模块是什么以及它如何创建矩阵。但也许这就是代码缓慢的原因。

Numpy 可能更快。创建一个 (python int) 1 的数组:

C:\Documents and Settings\gdk\Desktop>python -m timeit -s "from numpy import one
s" "ones((960, 540), int)"
100 loops, best of 3: 6.54 msec per loop

您可以比较使用不同模块创建矩阵的时间,看看更改是否有好处:timeit module

关于python - 如何加快 python 中的数组生成速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3176474/

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