python-np.hstack()避坑

import time
import numpy as np
feat1 = np.zeros([10000])
time1 = time.time()
feat = np.hstack((feat1,feat1))
time2 = time.time()
print(round(time2-time1,10))
time1 = time.time()
feat2 = np.hstack(feat1)
print(round(time2-time1,10))

上面这段代码运行结果为:
0.0
0.0338821411
也就是说,np.hstack((feat1,feat1))基本不耗时,
np.hstack(feat1)耗时。
为啥?
np.hstack(feat1)相当于把10000个零拼一起,而np.hstack((feat1,feat1))只是把两个东西拼一起,只拼一次。所以有时候改代码不要图方便,这玩意不注意,可能会导致程序效率下降10倍,100倍。。都有可能。本人就被坑了,程序慢了10倍。。现在终于找到问题了。。瞬间快了10倍。

Guess you like

Origin blog.csdn.net/qq_16952303/article/details/78786895