本文主要是介绍简易记录下python与java、C计算斐波那契数耗时,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 简单比较了下python与java、C计算的耗时,忽略了编译器优化,javac和gcc都采用默认参数。python耗时比较大,比后两者长了两个数量级级别。java表现出来优于C,应该是编译优化的结果。
- python计算,耗时三十余秒
- 简易代码:
import time def fibonacci(n):if n <= 1:return nelse:return fibonacci(n-1) + fibonacci(n-2)n = 40 start=time.time() y=fibonacci(n)print(str(y)+",耗时:%f"%(time.time()-start))
输出:
102334155,耗时:37.771169
- 简易代码:
- java计算
- 简易代码实现:
-
public class Blank {public static void main(String[] args) {long start=System.currentTimeMillis();int y=fibona(40);System.out.println(y+" 耗时:"+(System.currentTimeMillis()-start));}public static int fibona(int x) {if(x<=1)return x;else return fibona(x-1)+fibona(x-2);}}
-
- 运行结果
-
102334155 耗时:401
-
- 简易代码实现:
- C计算
- 简单代码实现
-
#include <stdio.h> #include <sys/time.h> int fibona(int x) {if(x<=1)return x;elsereturn fibona(x-1)+fibona(x-2); }int main(){struct timeval s;gettimeofday(&s,NULL);//printf("%d s %d us\n",s.tv_sec,s.tv_usec);int y=fibona(40);struct timeval e;gettimeofday(&e,NULL);//printf("%d s %d us\n",e.tv_sec,e.tv_usec);printf("%d耗时%d ms\n",y,(e.tv_sec-s.tv_sec)*1000+(e.tv_usec-s.tv_usec)/1000); }
-
运行结果:
-
102334155耗时818 ms
-
-
- 简单代码实现
这篇关于简易记录下python与java、C计算斐波那契数耗时的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!