我正在使用几种技术(NumPy,Weave和Cython)执行Python性能基准测试。代码基本上在数学上所做的是C = AB,其中A,B和C是N x N矩阵(注意:这是矩阵乘积,而不是逐元素的乘法)。我已经编写了5种不同的代码实现:纯Python(在2D Python列表中循环)NumPy(二维NumPy阵列的点积)内联编织(C ++遍历2D数组)Cython(在2D Python列表上循环+静态键入)Cython-Numpy(在2D NumPy数组上循环+静态类型化)我的期望是实施2到5将比实施1快得多。但是我的结果却相反。这些是我相对于纯Python实现的标准化提速结果:python_list:1.00numpy_array:330.09weave_inline:30.72cython_list:2.80cython_array:0.14我对NumPy的表现感到非常满意,但是我对Weave的表现不太热心,而Cython的表现使我哭泣。我的整个代码分为两个文件。一切都是自动化的,您只需要运行第一个文件即可查看所有结果。有人可以帮我指出我可以做些什么以获得更好的结果吗?
添加回答
举报
0/150
提交
取消