使用递归计算fibonacci测试c,java,go的性能,意外出现了!!!

2012-09-28 12:45:51 +08:00
 guotie
测试环境:
centos liinux 64位
gcc 4.4.4
go 1.0.3
java:
java version "1.7.0_05-icedtea"
OpenJDK Runtime Environment (rhel-2.2.1.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 23.0-b21, mixed mode)

计算fibonacci的代码用的这里的代码:
http://fengmk2.github.com/blog/2011/fibonacci/nodejs-python-php-ruby-lua.html

c,go,java计算的结果如下:
java:
real 0m1.233s
user 0m1.220s
sys 0m0.019s

go:
real 0m1.719s
user 0m1.718s
sys 0m0.001s

c:
real 0m1.762s
user 0m1.760s
sys 0m0.001s

运行速度竟然是java > go > c

c编译的时候,还是用-O2编译的啊!
7355 次点击
所在节点    编程
26 条回复
air00dd
2012-09-28 21:23:04 +08:00
@fanzeyi 请问0.28s的怎么弄的?本人菜鸟。。。
fanzeyi
2012-09-28 22:04:35 +08:00
@air00dd =.= 那是写错代码了……
oa414
2012-09-28 22:06:36 +08:00
https://gist.github.com/3800046/7fa3a7e96e8aab60ba70c033c00dd219a67fd22d

数据量大的话Ruby这种解释型的语言好慢……我实在不想等了,用@fanzeyi 1/10的数据量,
real 1m2.031s
user 1m1.744s
sys 0m0.108s
oa414
2012-09-28 22:07:36 +08:00
@fanzeyi 请问怎么贴gist的代码?
fanzeyi
2012-09-28 22:10:51 +08:00
@oa414 https 改成 http, 然后 3800046/ 后面的去掉
guotie
2012-09-29 16:32:12 +08:00
今天用vs2012测了一下,fibonacci(40)居然要8秒多!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/48917

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX