作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在公司进行 Go 培训,我想以最佳方式展示 pprof 包。我认为我的示例不足以简单地展示 pprof 的强大功能。我只想使用 go std 库。代码应该给我具有一些瓶颈的更简单的调用图。
我目前的工作流程如下:1.在网络服务器中包含pprof2. 运行网络服务器(它将收集数据 30 秒(默认))3. 运行一些 curl shots 到网络服务器4. 呈现 pprof 图
我的代码如下所示:
package main
import (
"fmt"
"net/http"
_ "net/http/pprof"
)
func handler(w http.ResponseWriter, r *http.Request) {
for i := 0; i < 100000000; i++ {
w.Write([]byte(fmt.Sprintf("%d - %d, ", i, i)))
}
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}
最佳答案
字符串连接怎么样?它在我的机器上生成了一个相当线性的图形。此外,这是一种很好的方式来告诉人们为什么他们应该通过附加到 []byte
来构建字符串,而不是连接字符串,从而产生大量垃圾。
func handler(w http.ResponseWriter, r *http.Request) {
var s string
for i := 0; i < 100000; i++ {
s += strconv.Itoa(i)
}
w.Write([]byte(s))
}
关于用于训练目的的 Golang 概要分析简单示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33549505/
在本教程中: 我们学习了如何创建可描述 web 服务的 WSDL 文档。 学习了WSDL 如何规定了服务的位置和服务所提供的操作或方法 我们学习了如何为 web 服务定义消息格式和协议细节 我
我是一名优秀的程序员,十分优秀!