为什么80%的码农都做不了架构师?>>>   

做了一个实验,比较Python、C、Go的运行速度,结果居然是... ...

代码目标:计算斐波纳契数列

C代码:

int fib(int n){if (n < 2)return n;elsereturn fib(n - 1) + fib(n - 2);
}int main() {fib(40);return 0;
}

Go代码:

package mainfunc fib(n int) int {var r intif n < 2 {r = n} else {r = fib(n - 1) + fib(n - 2)}return r
}func main(){fib(40)
}

Python代码:

def fib(n):if n < 2:return nelse:return fib(n - 1) + fib(n - 2)
fib(40)

测试机CPU信息:

[liuxd@liuxd]$ [master] cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz
stepping    : 10
microcode   : 0xa0b
cpu MHz     : 1995.000
cache size  : 6144 KB
physical id : 0
siblings    : 2
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips    : 5984.93
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:processor  : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 23
model name  : Intel(R) Core(TM)2 Duo CPU     E8400  @ 3.00GHz
stepping    : 10
microcode   : 0xa0b
cpu MHz     : 2995.000
cache size  : 6144 KB
physical id : 0
siblings    : 2
core id     : 1
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority
bogomips    : 5984.93
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

测试结果: Python:

real   0m52.221s
user    0m51.999s
sys 0m0.025s

C:

real 0m2.260s
user    0m2.249s
sys 0m0.001s

Go:

real    0m1.534s
user    0m1.530s
sys 0m0.001s

我每种语言都跑过5次以上,运行时间误差在0.01秒以内。

Go比C还快?这是啥道理?

转载于:https://my.oschina.net/liuxd/blog/100865

语言运行速度的一次测试相关推荐

  1. c语言链表如何做成环,在C语言中单向链表环测试并返回环起始节点的实现方法...

    小编想问大家一个问题,就是如果我们需要进行测试一个单向链表是否存在环,应该使用什么方法才是最好的呢?如果大家还不知道有什么方法的话,那就接着往下面看哟!因为今天小编就要为大家介绍一下:在C语言中单向链 ...

  2. c语言作业小学生测试题,C语言实现小学生随机出题测试计分

    C语言实现小学生随机出题测试计分 发布时间:2020-10-12 02:13:39 来源:脚本之家 阅读:103 作者:iCodeBugs 本文实例为大家分享了C语言实现随机出题测试计分的具体代码,供 ...

  3. java向hdfs提交命令_Java语言操作HDFS常用命令测试代码

    本文主要向大家介绍了Java语言操作HDFS常用命令测试代码,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. package com.yxc.hdfs; import org.apac ...

  4. 视频教程-Kali Linux渗透测试全程课与脚本语言编程系列课程-渗透测试

    Kali Linux渗透测试全程课与脚本语言编程系列课程 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥899.00 立即订 ...

  5. 中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)

    中国大学 MOOC 课程Python语言程序设计 (第11期)测试答案(1-5周)  Lan   2020-05-03 14:21   369 人阅读  0 条评论 感谢中国大学MOOC提供的学习平台 ...

  6. go语言使用GoConvey框架进行测试

    go语言使用GoConvey框架进行测试 本周作业为在go-online上完成一个最小堆算法,在完成之后我使用GoConvey进行测试. 要想写出好的的代码,必须学会测试框架,对于golang,可以使 ...

  7. Go语言圣经 - 第11章 测试 - 11.4 - 11.6

    第11章 测试 软件测试是一个巨大的领域,但是Go语言的测试技术是相对比较低级的,它依赖一个Go test测试命令和一组按照约定方式编写的测试函数,测试命令可以运行这些函数 在实践中,编写测试代码和编 ...

  8. python第一单元测试,知到Python语言应用第一单元章节测试答案

    参考答案如下 4.七情之中,知到章节()以刺激量过大.过猛为致病条件. 6.药枕适于创伤.语言应用急症.传染病等. 1.适用于小儿,第单元答案具有防病健身助发育之功的药枕是: 测试2.菊花枕的适应症包 ...

  9. 语c和c语言,00后黑话等级测试,你能看懂几句?

    素材来自网络,图文原创,欢迎关注 话说,唔哩菌经过00后饭圈文化的毒打后,以为已经能看懂他们的语言了. 至少不会再把"zqsy"当成"这群傻狗"了- 但唔哩菌今 ...

最新文章

  1. 第一百零四节,JavaScript时间与日期
  2. Java黑皮书课后题第4章:*4.18(学生的专业和年级)编程一个程序,提示用户输入两个字符,显示这两个字符代表的专业以及年级,第一个字符表示专业,第二个是一个数字字符1、2、3、4,输出对应结果
  3. ERROR: SampleCB() - buffer sizes do not match 解决方法
  4. 离散中多重组合是指_PLC编程中如何使用开关、模拟、脉冲量
  5. linux格式化ext4分区工具,linux学习笔记-磁盘分区、格式化与挂载
  6. php学习----运算符
  7. 解决django3.x manage命令makemigrations无法创建数据表
  8. 设计素材|剪纸风新年春节烫金PSD分层模板,牛气!
  9. MySql按字段分组取最大值记录 [此博文包含图片]
  10. matlab中怎么设置母线,Matlab绘图教程
  11. 查看计算机ping,通过ping命令检测主机的存活性
  12. 一次完整的http请求过程
  13. 荣耀MagicBook X桌面频繁蓝屏如何重装系统?
  14. 【树莓派C语言开发】实验11:U型光电传感器
  15. poi操作word常用操作方法,word工具包
  16. 基于单片机的电子时钟设计(keil+protues仿真,含代码及原理图)
  17. sql server 2005安装内存不能读
  18. Linux内核入门-- likely和unlikely
  19. Angular6笔记(4)
  20. 【AtCoder】【思维】【图论】Splatter Painting(AGC012)

热门文章

  1. 在FC7上安装xmms
  2. Tencent云联网灾备方案
  3. logistic回归和最大熵
  4. encodeURIComponent或者encodeURI 不用行不行?
  5. The number of Oracle redo threads (2) is not the same as the number of checkpoint threads (1)
  6. ListView和GridView的一些杂七八杂的内容
  7. ubuntu9.10安装文泉驿微米黑字体
  8. 几种Linux包管理系统的命令对照
  9. 缩小门店、打造智慧供应链,沃尔玛准备这样迎接新零售时代
  10. Javascript 是如何体现继承的 ?