zoukankan      html  css  js  c++  java
  • Go语言计算函数执行时间

    在Go语言中我们可以使用 time 包中的 Since() 函数来获取函数的运行时间,Go语言官方文档中对 Since() 函数的介绍是这样的。

    func Since(t Time) Duration

    Since() 函数返回从 t 到现在经过的时间,等价于time.Now().Sub(t)

    【示例】使用 Since() 函数获取函数的运行时间。

    1. package main
    2. import (
    3.     "fmt"
    4.     "time"
    5. )
    6. func test() {
    7.     start := time.Now() // 获取当前时间
    8.     sum := 0
    9.     for i := 0; i < 100000000; i++ {
    10.         sum++
    11.     }
    12.     elapsed := time.Since(start)
    13.     fmt.Println("该函数执行完成耗时:", elapsed)
    14. }
    15. func main() {
    16.     test()
    17. }

    运行结果如下所示:

    该函数执行完成耗时: 39.8933ms

    上面我们提到了 time.Now().Sub() 的功能类似于 Since() 函数,想要使用 time.Now().Sub() 获取函数的运行时间只需要把我们上面代码的第 14 行简单修改一下就行。

    【示例 2】使用 time.Now().Sub() 获取函数的运行时间。

    1. package main
    2. import (
    3.     "fmt"
    4.     "time"
    5. )
    6. func test() {
    7.     start := time.Now() // 获取当前时间
    8.     sum := 0
    9.     for i := 0; i < 100000000; i++ {
    10.         sum++
    11.     }
    12.     elapsed := time.Now().Sub(start)
    13.     fmt.Println("该函数执行完成耗时:", elapsed)
    14. }
    15. func main() {
    16.     test()
    17. }

    运行结果如下所示:

    该函数执行完成耗时: 36.8769ms

    由于计算机 CPU 及一些其他因素的影响,在获取函数运行时间时每次的结果都有些许不同,属于正常现象。

  • 相关阅读:
    cocoaPods 最新系统上的安装和基本使用图文笔记
    iOS cell左滑出现多个功能按钮(IOS8以后支持)
    JPA error org.hibernate.AnnotationException: No identifier specified for entity
    spring-boot Jpa配置
    Java中各种集合(字符串类)的线程安全性!!!
    kafka浅谈
    Redis 指令
    JVM监控及堆栈内存
    redis与mysql性能对比、redis缓存穿透、缓存雪崩
    分布式锁机制
  • 原文地址:https://www.cnblogs.com/ithubb/p/14440338.html
Copyright © 2011-2022 走看看