go实现程序运行时间

简介: go实现程序运行时间
package main
import (
   "fmt"
   "time"
)
type FuncType func()
func main() {
   time := runFuncByConsumptionTime(test)
   fmt.Printf("The consumption time is:%d ms \\n", time)
}
func test() {
   time.Sleep(1*time.Second)
}
func runFuncByConsumptionTime(callback FuncType) int64 {
   start := time.Now().UnixNano() / 1e6
   callback()
   end := time.Now().UnixNano() / 1e6
   return end - start
}
目录
相关文章
|
2月前
|
存储 Go C语言
如何用Go开发eBPF程序
【2月更文挑战第7天】
|
2月前
|
安全 Go
Go语言并发:释放程序潜能的魔力
Go语言并发:释放程序潜能的魔力
31 0
|
6天前
|
Linux 测试技术 编译器
在go程序中的交叉编译
【7月更文挑战第9天】本文介绍Go 交叉编译允许在一种平台上构建适用于多平台的二进制文件。`go build -cover`用于覆盖率分析,`-coverpkg`控制分析的包范围,生成的二进制文件运行后,覆盖率数据会写入`GOCOVERDIR`指定的目录。
72 14
在go程序中的交叉编译
|
28天前
|
存储 安全 测试技术
【Go语言精进之路】构建高效Go程序:了解map实现原理并高效使用
【Go语言精进之路】构建高效Go程序:了解map实现原理并高效使用
32 3
|
28天前
|
存储 监控 Go
【Go语言精进之路】构建高效Go程序:了解切片实现原理并高效使用
【Go语言精进之路】构建高效Go程序:了解切片实现原理并高效使用
29 3
|
6天前
|
自然语言处理 算法 Go
理解在go程序的初始化顺序和MVS
【7月更文挑战第9天】本文介绍Go程序初始化顺序:按导入顺序执行`init()`,先变量定义、常量、再执行`init()`,最后`main()`. 运行时使用`GOCOVERDIR`保存覆盖率数据。
56 1
理解在go程序的初始化顺序和MVS
|
16天前
|
JSON 算法 测试技术
在go语言中调试程序
【6月更文挑战第29天】Go语言内置`testing`包支持单元测试、基准测试和模糊测试。`go test`命令可执行测试,如`-run`选择特定测试,`-bench`运行基准测试,`-fuzz`进行模糊测试。
37 2
在go语言中调试程序
|
28天前
|
设计模式 安全 Go
【Go语言精进之路】构建高效Go程序:零值可用、使用复合字面值作为初值构造器
【Go语言精进之路】构建高效Go程序:零值可用、使用复合字面值作为初值构造器
17 2
|
28天前
|
存储 安全 Go
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
【Go语言精进之路】构建高效Go程序:掌握变量、常量声明法则与iota在枚举中的奥秘
23 2
|
2月前
|
Java 测试技术 Go
使用go的内置运行时库调试和优化程序
【5月更文挑战第18天】在本文中,作者探讨了如何为运行时程序添加剖析支持以优化性能。他们面临的问题是一个程序需要找出平方根为整数且逆序平方等于其逆序的数字。他们首先展示了原始代码,然后使用`runtime`库进行优化,将计算和调用功能分离,同时记录CPU和内存使用情况。
41 4