Python循环-随机循环与批处理循环,为什么花费的时间太长?

Python循环-随机循环与批处理循环,为什么花费的时间太长?,python,loops,numpy,Python,Loops,Numpy,循环1:(随机-预期更快) vs循环2:(批处理-预期较慢) 但我的批处理速度要快得多-一次迭代所用时间为0.025356054306 vs我的随机性真的很慢-一次迭代经过时间1.0576338768 这里我的m是13,数据大约是500个元组。 有人能告诉我为什么吗?或者我在哪里搞砸了? 谢谢 编辑1: 你是在测量循环还是整个算法(这两种方法可能需要不同的迭代次数才能收敛)?不只是循环,一次迭代可以避免我们对事物的类型和维度进行二次猜测,你能拿出一个最小的自包含的例子来演示性能上的差异吗?@NP

循环1:(随机-预期更快)

vs循环2:(批处理-预期较慢)

但我的批处理速度要快得多-一次迭代所用时间为0.025356054306 vs我的随机性真的很慢-一次迭代经过时间1.0576338768

这里我的m是13,数据大约是500个元组。 有人能告诉我为什么吗?或者我在哪里搞砸了? 谢谢

编辑1:
你是在测量循环还是整个算法(这两种方法可能需要不同的迭代次数才能收敛)?不只是循环,一次迭代可以避免我们对事物的类型和维度进行二次猜测,你能拿出一个最小的自包含的例子来演示性能上的差异吗?@NPE不确定,你想要什么,但我只是做了编辑,让我知道我还应该写什么?谢谢我的意思是一个完整的脚本,我们可以通过运行它来进行实验。理想情况下,简短的内容可以清楚地说明问题。
 for i in range(len(data)):
        x = data[i]
        for t in range(0, m):
            theta[t] -= my_lambda * (np.dot(theta, x) - y[i]) * x[t]
for t in range(0, m):
        temp = 0
        for i in range(len(data)):
            x = data[i]
            temp += (np.dot(theta, x) - y[i]) * x[t]
        theta[t] = theta[t] - my_lambda * temp / M
data = [[], [], ...]
data = [record1, record2 ...]
record = [1, x1, x2, ... , x_m]

theta is vector
theta = np.zeros(m+1) //np is numpy