golang 1.5.1 和C语言 python 学习对比

  测试算法,计算1到10^7的值,如果正序和倒序相同,则计算该值的2幂。
如果该值的2次幂,正序和倒序相同则打印。

Debian 操作系统上。
gcc version 4.7.2 (Debian 4.7.2-5)
Python 2.7.9
golang1.5.1

硬件部分
Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz

golang优化
1.本来要用自己写幂运算。后来放弃了。
2.将字符串倒序完比较,改为每位比较,有不同则返回。
3.不用fmt打印,运行速度没有变,只是体积小了1M。

C和python没有优化。C使用-O3编译。

C代码部分:

golang代码部分:

py代码部分

测试结果:
golang
real 0m0.542s
user 0m0.636s
sys 0m0.044s

C
real 0m0.688s
user 0m0.684s
sys 0m0.000s

python
real 0m6.159s
user 0m6.140s
sys 0m0.012s

结论:python体积最小,开发速度最快,运行速度慢。C体积居中,速度居中,开发难度大。golang体积大,速度快,开发难度居中。
个人还是喜欢C,能学习到最基础的计算机原理。但是golang比C还有快是没有想到的。如可以优化,请告知。

源码

发表评论

电子邮件地址不会被公开。 必填项已用*标注