1、速度测试:常规python代码 VS numpy数组(含matplotlib展示)

针对数值计算任务,我们一般推崇使用numpy:

① 因为他的底层是C语言,所以比起python内置函数,代码更高效。

② numpy能对数组和矩阵进行直接操作。如果是python内置函数,我们就不得不开启循环遍历。

③数组的存储效率和输入输出性能优于python的基本数据结构。

下面我们用一个简单的例子展示②的效果。

图1 常规python代码 VS numpy数组

从图1,我们可以看到常规python代码需要使用for循环才能实现,而numpy数组可直接对数组内的所有元素进行计算。

图2 对两种写法进行耗时比较

这边展示的是两种方式执行时间的微秒比较。但这样的结果是否具有偶然性呢?从统计角度,我们不该一锤定音,所以我们计划分别执行这两种方法100次,并用图像的方式可视化展现出来。

图3 准备两种方法的耗时数据集
图4 画图

好啦,有了以上的普遍性测试,再也没有人从统计学角度质疑我们的结论了。numpy对数组内所有元素直接处理的方式,速度确实很赞!

在处理过程中,我们发现小数据量,其实两种方式的耗时差距并不是很大,那么在当前方案下,导致时间差距变大的数据量拐点到底是什么呢?

图5 数据量对两种方法的耗时影响

我这边的数据量是以100为步长的共100个小实验测试耗时,从折线图中其实并不能发现明显拐点,甚至觉得常规python代码的耗时随着数据量的增长存在回归现象。但我们可以明确看到,当前的数据量,对numpy来说还是洒洒水啦。

所以推荐使用numpy!后续我也会继续推送更多的numpy小知识给大家,可以边看边练,喜欢的话点个关注吧!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容