当前位置: 首页 > news >正文

环保公司网站建设方案广告设计与制作专业简历

环保公司网站建设方案,广告设计与制作专业简历,赣州企业网站建设推广,wordpress 特色 外链在软件开发过程中,性能优化是不可或缺的一部分。无论是在Web服务、数据处理系统还是实时通信中,良好的性能都是至关重要的。Golang 从1.20版版本开始引入的 Profile Guided Optimization(PGO)机制能够帮助更好地优化 Go 程序的性能…

在软件开发过程中,性能优化是不可或缺的一部分。无论是在Web服务、数据处理系统还是实时通信中,良好的性能都是至关重要的。Golang 从1.20版版本开始引入的 Profile Guided Optimization(PGO)机制能够帮助更好地优化 Go 程序的性能。

什么是 Profile Guided Optimization(PGO)?

编译器在编译程序的时候会对程序做很多优化,例如通过分析程序源代码就可以实现的 inline optimization(内联优化)、escape analysis(逃逸分析)、constant propagation(常数传播)等优化手段。但是还有一些优化手段是无法通过分析源代码来实现的,例如一个函数里有很多条件分支语句,我们会希望编译器自动优化条件分支顺序,来加快条件分支的判断,提升程序性能。但是,编译器是不知道知道实际业务场景中每个条件分支进入的次数情况的,因为这个和程序的输入有关,所以编译出的程序就没办法在具体的应用场景中达到最佳性能。在这种场景下,PGO 就能发挥很大的作用了。

Profile Guided Optimization(PGO ),也可以被称为 feedback-directed optimization (FDO),是 Go 编译器的一种优化技术,通过分析程序运行时的行为数据来优化程序的性能。PGO 工具在编译过程中收集程序运行时的数据,然后利用这些数据对程序进行针对性的优化。这个过程的实现步骤如下:

  1. 在程序运行时,使用 profiling 工具采集 profile 数据。
  2. 根据采集到的 profile 数据,对程序进行重新编译。
  3. 在重新编译后的程序中,再次采集 profile 数据,并重复步骤2,直到程序达到理想的性能。

关于性能的提升情况,Golang 官方给出的数据是,在 Go 1.21中,一组具有代表性的 Go 程序的基准测试表明,使用 PGO 构建可以提高大约2-7%的性能。随着 Golang 对 PGO的不断优化,对性能的提升作用相信也会越来越大。

使用示例

可以通过 net/http/pprof 包生成的文件作为 profile 文件,示例如下:

package mainimport ("fmt""net/http"_ "net/http/pprof"
)func IndexHandler(w http.ResponseWriter, r *http.Request) {fmt.Fprintln(w, "hello world")
}func main() {http.HandleFunc("/test", IndexHandler)http.ListenAndServe(":8000", nil)
}

需要导入 net/http/pprof 这个库,这个库会生成用于采集 profile 文件的接口,这里使用 /debug/pprof/profile 接口,通过请求这个接口来获取程序运行时的数据。

1、 采集 profile 数据

访问 http://localhost:8000/debug/pprof/profile?seconds=30,这里的意思是采集30秒的数据,期间需要访问程序提供的功能接口,采集完成后将数据保存到程序主目录下,命名为 default.pgo(编译的时候,设置 -pgo 选项的值为 auto,会自动查找到此文件,使用起来更方便)
2、编译时启用 PGO 优化

编译的时候带上 -pgo 参数并且将值设置为 auto(也可以指定具体的文件),如下:

$ go build -pgo=auto -o markdown.withpgo

Golang 官方推荐使用 auto ,并且把 default.pgo 文件存放在程序主目录下维护,以方便项目的其他开发者使用 default.pgo 来对程序做性能优化。因为 PGO 是从 Go 1.20 开始引入的,所以需要将 Golang 升级到 1.20 及以上。

http://www.yayakq.cn/news/877687/

相关文章:

  • 建设网站的企业公司ngrok WordPress
  • dw免费网站模板做返利网站能赚钱么
  • 建设电子商务网站的方案上海网站怎么备案
  • 扫二维码直接进网站怎么做西安专业网站建设公司
  • 齐齐哈尔网站seo网站建设基础与实践
  • 网站建设流程精英网站开发多语言
  • 用网站做邮箱吗免费用搭建网站
  • 佛山网站建设技术托管网站成本
  • 苏州建网站制作费用多少钱wordpress 音乐模板
  • 网站排名优化价格无排名优化
  • 做推广必须知道的网站大型租车门户网站商业版源码
  • 针对网站开发者的问答网站做私人没有备案的网站
  • php网站建设实训引言手机网站一键开发
  • 怎么做网站推广世界杯网站建设属于无形资产吗
  • 网页特技的网站使用flash做网站
  • 婚礼网站模板动漫设计专业大专学校
  • 网站搜索框设计个人网站 百度推广
  • 大型网站开发的书建网站可以铺货
  • 网站同时使用asp phpwordpress幻灯插件
  • 好看的网站ui电子商务网站开发模块流程图
  • 国外创意网站欣赏手机怎么做淘客网站
  • wordpress+整站下载移动端网站教程
  • 南宁企业网站建设技术公司天津哪里有做网站的
  • 做网站的证书做网站怎么收费多少
  • 网站开发与设计岗位职责合肥大型网站
  • 网站策划是干嘛的网站设计源代码
  • 网站建设怎么让网站收录天津做网站优化哪家好
  • 可直接打开网站的网页广告图片怎么制作
  • 汝阳建设局网站网站更新维护
  • app科技网站建设代做毕网站