简易记录下python与java、C计算斐波那契数耗时

2024-08-29 05:04

本文主要是介绍简易记录下python与java、C计算斐波那契数耗时,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  1. 简单比较了下python与java、C计算的耗时,忽略了编译器优化,javac和gcc都采用默认参数。python耗时比较大,比后两者长了两个数量级级别。java表现出来优于C,应该是编译优化的结果。
  2. python计算,耗时三十余秒
    1. 简易代码:
      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
      

  3. java计算
    1. 简易代码实现:
      1. 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);}}

    2. 运行结果
      1. 102334155  耗时:401

  4. C计算
    1. 简单代码实现
      1. #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);
        }

      2. 运行结果:

        1. 102334155耗时818 ms

这篇关于简易记录下python与java、C计算斐波那契数耗时的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1116914

相关文章

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

SpringBoot 整合 Grizzly的过程

《SpringBoot整合Grizzly的过程》Grizzly是一个高性能的、异步的、非阻塞的HTTP服务器框架,它可以与SpringBoot一起提供比传统的Tomcat或Jet... 目录为什么选择 Grizzly?Spring Boot + Grizzly 整合的优势添加依赖自定义 Grizzly 作为

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

使用Python将长图片分割为若干张小图片

《使用Python将长图片分割为若干张小图片》这篇文章主要为大家详细介绍了如何使用Python将长图片分割为若干张小图片,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果1. Python需求

Python实现将实体类列表数据导出到Excel文件

《Python实现将实体类列表数据导出到Excel文件》在数据处理和报告生成中,将实体类的列表数据导出到Excel文件是一项常见任务,Python提供了多种库来实现这一目标,下面就来跟随小编一起学习一... 目录一、环境准备二、定义实体类三、创建实体类列表四、将实体类列表转换为DataFrame五、导出Da