为了账号安全,请及时绑定邮箱和手机立即绑定

去分析 - 错误的文件

去分析 - 错误的文件

Go
喵喔喔 2023-04-24 16:31:21
我正在使用 github.com/pkg/profile 在 Go 中进行分析,它在我运行我的代码时创建文件,但返回来自示例页面代码,如何运行我的代码?提前致谢代码:package mainimport (    "fmt"    "github.com/pkg/profile"    "time")func main() {    defer profile.Start(profile.MemProfile).Stop()    var inicio = time.Now().UnixNano()    var text = "Olá Mundo!"    fmt.Println(text)    var fim = time.Now().UnixNano()    fmt.Println(fim - inicio)}返回:
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

您可以将配置文件输出路径更改为当前工作目录,


profile.ProfilePath(path)

如果您无法检索任何样本,则意味着您的样本量MemProfileRate不够小,无法实际捕获微小的变化。


如果您分配的内存量较少,则将其设置MemProfileRate为较小的值,如果您分配的内存量较大,则保持默认值即可。如果你认为你捕获了微小的内存变化,那么增加MemProfileRate.


profile.MemProfileRate(100)

使用profilepackage 时你不应该忘记的一件事是你的电话应该被推迟。


defer profile.Start(xxx).Stop()

这是完整的程序。


package main


import (

    "os"


    "github.com/pkg/profile"

)


func main() {

    dir, _ := os.Getwd()

    defer profile.Start(profile.MemProfile, profile.MemProfileRate(100), profile.ProfilePath(dir)).Stop()

    //decrease mem profile rate for capturing more samples

    for i := 0; i < 10000; i++ {

        tmp := make([]byte, 100000)

        tmp[0] = tmp[1] << 0 //fake workload

    }

}

您还可以设置配置文件路径,以便在当前工作目录中输出配置文件。


查看完整回答
反对 回复 2023-04-24
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信