Tag: 基准

C与Python / numpy的数学表现不佳

近似重复/​​相关: BLAS如何获得如此极端的性能? (如果你想在C语言中快速使用matmul,那么除非你想亲自调整自己的asm版本,否则请认真使用一个好的BLAS库。)但这并不意味着看到编译欠优化矩阵代码时会发生什么并不重要。 如何优化矩阵乘法(matmul)代码,以便在单个处理器内核上快速运行 矩阵乘法与块 出于兴趣,我决定比较(不熟练的)手写C与Python / numpy的性能,执行两个大的方形矩阵的简单矩阵乘法,填充从0到1的随机数。 我发现python / numpy超过我的C代码超过10,000x这显然是不对的,所以我的C代码导致它执行得如此糟糕? (甚至用-O3或-Ofast编译) python: import time import numpy as np t0 = time.time() m1 = np.random.rand(2000, 2000) m2 = np.random.rand(2000, 2000) t1 = time.time() m3 = m1 @ m2 t2 = time.time() print(‘creation time: ‘, t1 – t0, ‘ \n multiplication time: ‘, t2 – t1) […]