设为首页 加入收藏

TOP

Python和C运算速度对比实测
2019-02-04 14:35:02 】 浏览:152
Tags:Python 运算 速度 对比 实测

久闻python的底层代码是C写的,运行起来也要比C慢很多。但是一直没有见过量化的对比数据,今天正好有空亲自写了点代码小测了一下,在这里把结果分享一下。

OS:Ubuntu 16.04

Python IDE: Pycharm

C IDE: GCC + Sublime Text3

Code: Prime Number Selection

首先是C的程序。

程序很简单,主要任务就是遍历1000000以内的自然数,筛选出素数,然后结束。

Python和C运算速度对比实测



在这里我还是要推荐下我自己建的Python开发学习群:483546416,都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2017最新的Python零基础资料和Python进阶教程,欢迎进加入

为了减少printf函数对程序的延时,除了时间外其他输出全部屏蔽掉。结果如下:

Python和C运算速度对比实测

C用时4分54秒。

再看python的表现。

Python和C运算速度对比实测

Python 和 C的算法略有不同。C是对每一个自然数进行筛查,而python先做出奇数序列,再进行迭代过滤。我还顺便在输出素数的时候记录下和前后的差值。不过总体来讲这两种算法的复杂程度是一致的,主要的工作量也是大致相当。

同样为了减少print函数的延时,所有输出都被屏蔽,除了时间和运算完成的报告以外。

运行后结果如下:

Python和C运算速度对比实测

Python用时8分41秒。

Python用时是C的将近两倍。比我之前看到资料上讲的速度差别小太多了。

这个实验设计得还不够精确。如果有机会,下次应该试一试差异更小,但是覆盖的运算种类更齐全的代码,跑更长的时间,然后再做一次这样的实验,也许结果会大有不同。

做这个实验还观察到一个有趣的现象。跑C的时候,CPU3在满负荷工作:

Python和C运算速度对比实测

跑python的时候,又换成CPU2了:

Python和C运算速度对比实测

虽然底层硬件没有把这八个内核都利用起来,但是还好每次分配都是公平的,要单核就都单核运算,要不然这次实验结果的参考价值就是0了。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python面试不得不知道的点——GIL 下一篇Python Decorators入门 (一)

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目