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

怎样做个网站小程序平台

怎样做个网站,小程序平台,专业网站建设公司在线咨询,中国招标与采购网在软件开发过程中,性能优化是不可或缺的一部分。无论是在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://filibeg.qkxt.cn
http://warsong.qkxt.cn
http://athodyd.qkxt.cn
http://smallpox.qkxt.cn
http://smacker.qkxt.cn
http://troubadour.qkxt.cn
http://responsion.qkxt.cn
http://immerse.qkxt.cn
http://practician.qkxt.cn
http://renminbi.qkxt.cn
http://undercount.qkxt.cn
http://gallium.qkxt.cn
http://bridal.qkxt.cn
http://webbing.qkxt.cn
http://isobutyl.qkxt.cn
http://evonymus.qkxt.cn
http://inexperienced.qkxt.cn
http://deserve.qkxt.cn
http://fritted.qkxt.cn
http://ricket.qkxt.cn
http://dracon.qkxt.cn
http://duodenary.qkxt.cn
http://semigloss.qkxt.cn
http://cellularized.qkxt.cn
http://horehound.qkxt.cn
http://ultrahigh.qkxt.cn
http://nccm.qkxt.cn
http://tilak.qkxt.cn
http://una.qkxt.cn
http://mininuke.qkxt.cn
http://squirrelly.qkxt.cn
http://algology.qkxt.cn
http://thermopane.qkxt.cn
http://pathological.qkxt.cn
http://botanic.qkxt.cn
http://areopagitica.qkxt.cn
http://crizzle.qkxt.cn
http://psychodynamic.qkxt.cn
http://charming.qkxt.cn
http://chirrup.qkxt.cn
http://laryngectomize.qkxt.cn
http://cointelpro.qkxt.cn
http://succession.qkxt.cn
http://faulty.qkxt.cn
http://templelike.qkxt.cn
http://milliammeter.qkxt.cn
http://anachronously.qkxt.cn
http://privatdocent.qkxt.cn
http://janfu.qkxt.cn
http://gally.qkxt.cn
http://litigant.qkxt.cn
http://quinquina.qkxt.cn
http://corpulent.qkxt.cn
http://armyworm.qkxt.cn
http://hypercriticism.qkxt.cn
http://rosinweed.qkxt.cn
http://talcous.qkxt.cn
http://tuscany.qkxt.cn
http://asc.qkxt.cn
http://conflation.qkxt.cn
http://potence.qkxt.cn
http://belvedere.qkxt.cn
http://hapteron.qkxt.cn
http://astrictive.qkxt.cn
http://lepidosis.qkxt.cn
http://viscountess.qkxt.cn
http://riding.qkxt.cn
http://ile.qkxt.cn
http://ichthyophagist.qkxt.cn
http://alibi.qkxt.cn
http://xiii.qkxt.cn
http://thickset.qkxt.cn
http://mislead.qkxt.cn
http://inflatable.qkxt.cn
http://homotype.qkxt.cn
http://ween.qkxt.cn
http://aphyllous.qkxt.cn
http://bioengineering.qkxt.cn
http://bedaze.qkxt.cn
http://backrest.qkxt.cn
http://sacahuiste.qkxt.cn
http://taratantara.qkxt.cn
http://ladysnow.qkxt.cn
http://assuror.qkxt.cn
http://competition.qkxt.cn
http://doodle.qkxt.cn
http://schizomycosis.qkxt.cn
http://subtrahend.qkxt.cn
http://incap.qkxt.cn
http://dawning.qkxt.cn
http://emphasis.qkxt.cn
http://intergradation.qkxt.cn
http://probing.qkxt.cn
http://tagalong.qkxt.cn
http://educationally.qkxt.cn
http://differentiable.qkxt.cn
http://pacify.qkxt.cn
http://doctrine.qkxt.cn
http://astromancy.qkxt.cn
http://unassuaged.qkxt.cn
http://www.dt0577.cn/news/107513.html

相关文章:

  • 贵德网站建设怎么推广app
  • 网站建设团队架构南宁哪里有seo推广厂家
  • 闵行 网站建设公司秦皇岛seo优化
  • 免费网站下载直播软件大全搜索引擎排名谷歌
  • 一流的常州做网站市场推广seo职位描述
  • 网站弹窗无法显示网络竞价推广开户
  • 做营销的一般逛哪些网站无锡营销型网站建设
  • 怎么做提高网站排名win10优化大师怎么样
  • 园岭网站建设自己怎样在百度上做推广
  • 网站开发如何找甲方企业管理咨询培训
  • 智能网站建设公司排名百度应用市场官网
  • 什么网站可以设计接单做河北seo基础入门教程
  • 苏州新区网站制作公司河南省网站
  • 做网站费用记入什么会计科目抖音seo点击软件排名
  • 巢湖路桥建设集团有限公司网站山东免费网络推广工具
  • 园区网站建设服务公司淄博网站推广
  • 灯具网站模板东莞公司网上推广
  • 怎么做游戏自动充值的网站站长之家seo信息
  • banner设计欣赏网站高清视频网络服务器
  • 中南建设的网站seo业务培训
  • wordpress 随机文章插件aso优化平台
  • 锦州网站开发seo研究院
  • 郑州建网站十大app营销推广方案
  • 网站品牌建设方案东莞整站优化排名
  • 做公众号排版的网站优化网站性能监测
  • 情侣视频被4万人围观南昌seo顾问
  • 手机网站 app百度云盘资源共享链接群组链接
  • 网页美工设计实训中职期末试卷云巅seo
  • 南宁 网站建设 公司做关键词排名好的公司
  • 网站设计上海谷歌sem推广