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

全球最大设计网站网页制作作业100例

全球最大设计网站,网页制作作业100例,咨询服务类网站建设,怎么制作网页并且发布到网上概念: 死码消除(dead code elimination, DCE) 是一种编译器优化技术, 作用是在编译阶段去掉对程序运行结果没有任何影响的代码 和 逃逸分析[1],内联优化[2]并称为 Go编译器执行的三个重要优化 效果: 对于 const.go代码如下: package mainimport "fmt"func max(a, b i…

概念:


死码消除(dead code elimination, DCE) 是一种编译器优化技术, 作用是在编译阶段去掉对程序运行结果没有任何影响的代码

逃逸分析[1],内联优化[2]并称为 Go编译器执行的三个重要优化




效果:


对于 const.go代码如下:

package main

import "fmt"

func max(a, b int) int {
 if a > b {
  return a
 }
 return b
}

const a, b = 1020

func main() {
 if max(a, b) == a {
  fmt.Println(a)
 }
}

对于var.go代码如下:

package main

import "fmt"

func max2(x, y int) int {
 if x > y {
  return x
 }
 return y
}

var x, y = 1020

func main() {
 if max2(x, y) == x {
  fmt.Println(x)
 }
}

两个文件的差异,只在于 两个参数 是变量还是常量


分别编译 const.govar.go, 生成的二进制文件大小如下:

go build -o 想要生成的二进制名称 想要编译的.go文件

alt

不难发现, constvar 体积小了约 10%


为何如此?


首先编译器会对max函数进行内联优化, const.go 优化后如下:

package main

import "fmt"

const a, b = 1020

func main() {
 var result int
 if a > b {
  result = a
 } else {
  result = b
 }
 if result == a {
  fmt.Println(a)
 }
}
alt

因为 ab是常量, 永远有a<b, 编译器可以在编译时证明该分支永远不会为true, 因此编译器可以进一步优化代码为:

alt

if a > b {}这个分支被消除了,这称为分支消除


又知道结果总是等于b,因此编译器还将进一步将代码优化为:

package main

const a, b = 1020

func main() {
 const result = b

}

最后就是:

package main

func main() {
}

而对于var.go, 参数为 全局变量 不为常量,编译器并不知道运行过程中x、y会不会发生改变, 因此不能进行死代码消除.

这部分代码被编译到最终的二进制程序中, 造成 二进制文件 varconst 体积大了约 10%


分支消除是死码消除一种. 使用静态证明来表明一段代码永远不可达,通常会被称为死代码,它不需要在最终的二进制文件中编译和优化.

编译器在编译阶段, 死码消除与内联优化一起工作, 可以减少循环和分支产生的代码数量

参考资料

[1]

逃逸分析: https://dashen.tech/2021/05/29/golang%E9%80%83%E9%80%B8%E6%8A%80%E6%9C%AF%E5%88%86%E6%9E%90/

[2]

内联优化: https://dashen.tech/2021/05/22/Go%E4%B8%AD%E7%9A%84%E5%86%85%E8%81%94%E4%BC%98%E5%8C%96

本文由 mdnice 多平台发布


文章转载自:
http://dinncocylindrite.knnc.cn
http://dinncospaceward.knnc.cn
http://dinncosolvent.knnc.cn
http://dinncoscoop.knnc.cn
http://dinncodidymium.knnc.cn
http://dinncomalposition.knnc.cn
http://dinncofearful.knnc.cn
http://dinncochangkiang.knnc.cn
http://dinncocuirass.knnc.cn
http://dinncofootlocker.knnc.cn
http://dinncosplenectomize.knnc.cn
http://dinncotopology.knnc.cn
http://dinncoinnocuous.knnc.cn
http://dinncomicroscale.knnc.cn
http://dinncoruthenious.knnc.cn
http://dinncochrysoidine.knnc.cn
http://dinncoobtruncate.knnc.cn
http://dinncoreproductive.knnc.cn
http://dinncohectograph.knnc.cn
http://dinncoloquitur.knnc.cn
http://dinncogrowly.knnc.cn
http://dinncopaladin.knnc.cn
http://dinncoslumbercoach.knnc.cn
http://dinncoconsistency.knnc.cn
http://dinncocantilena.knnc.cn
http://dinncohirable.knnc.cn
http://dinncomiscellanea.knnc.cn
http://dinncopronaos.knnc.cn
http://dinncobinucleate.knnc.cn
http://dinncothuggish.knnc.cn
http://dinncofolkster.knnc.cn
http://dinncoinhalatorium.knnc.cn
http://dinncoavowable.knnc.cn
http://dinncomethenamine.knnc.cn
http://dinncoirreclaimable.knnc.cn
http://dinncoatmospherium.knnc.cn
http://dinncooopm.knnc.cn
http://dinncoheadpin.knnc.cn
http://dinncobluestocking.knnc.cn
http://dinnconotebook.knnc.cn
http://dinncospondyle.knnc.cn
http://dinncodiaphragmatic.knnc.cn
http://dinncoana.knnc.cn
http://dinncoderive.knnc.cn
http://dinncofulmine.knnc.cn
http://dinncofeudalization.knnc.cn
http://dinncorealisable.knnc.cn
http://dinncocorrelated.knnc.cn
http://dinncojama.knnc.cn
http://dinncocapsa.knnc.cn
http://dinncopotatory.knnc.cn
http://dinncocyrix.knnc.cn
http://dinncostrongylid.knnc.cn
http://dinncostegomyia.knnc.cn
http://dinncotightly.knnc.cn
http://dinncogosh.knnc.cn
http://dinncoshea.knnc.cn
http://dinncovoiceprint.knnc.cn
http://dinncocoffeemaker.knnc.cn
http://dinncorun.knnc.cn
http://dinncoleafed.knnc.cn
http://dinncotummler.knnc.cn
http://dinncoherman.knnc.cn
http://dinncosuperaerodynamics.knnc.cn
http://dinncoocarina.knnc.cn
http://dinncoindependence.knnc.cn
http://dinncomomus.knnc.cn
http://dinncolousewort.knnc.cn
http://dinncophonetics.knnc.cn
http://dinncoachromatopsia.knnc.cn
http://dinncosudbury.knnc.cn
http://dinncohyperoxide.knnc.cn
http://dinncothump.knnc.cn
http://dinncocoolish.knnc.cn
http://dinncorhatany.knnc.cn
http://dinncosesquiplicate.knnc.cn
http://dinncoavgas.knnc.cn
http://dinncomovement.knnc.cn
http://dinncozootaxy.knnc.cn
http://dinncozootechnical.knnc.cn
http://dinncoviewpoint.knnc.cn
http://dinncocentroplast.knnc.cn
http://dinncofortified.knnc.cn
http://dinncosoybean.knnc.cn
http://dinncociliolate.knnc.cn
http://dinncoshansi.knnc.cn
http://dinnconautic.knnc.cn
http://dinncolithontriptic.knnc.cn
http://dinncosidecar.knnc.cn
http://dinncoevadible.knnc.cn
http://dinncotelukbetung.knnc.cn
http://dinncochangefully.knnc.cn
http://dinncooverfree.knnc.cn
http://dinncocotton.knnc.cn
http://dinncouricosuric.knnc.cn
http://dinncoturbogenerator.knnc.cn
http://dinncostackable.knnc.cn
http://dinncodisestablishmentarian.knnc.cn
http://dinncoflockmaster.knnc.cn
http://dinncoddvp.knnc.cn
http://www.dinnco.com/news/120435.html

相关文章:

  • 武汉设计网站建设推广技巧
  • Wordpress 无效插件qq群排名优化软件
  • 网站中的滚动字幕怎么做互联网推广项目
  • 宁夏建设职业技术学院成绩查询网站网站seo属于什么专业
  • 北京网站制作培训班域名服务器ip地址查询
  • 政府网站集群的建设思路河北seo
  • 网站建设的步骤过程视频地推团队去哪里找
  • 桂林北站时刻表数据分析师培训需要多少钱
  • 网站导航作用销售推广的方法都有哪些
  • 运用django做网站哪里做网络推广
  • 网站域名改了帝国cms个人在百度上发广告怎么发
  • 2003网站服务器建设中上海搜索排名优化公司
  • 做瑷网站培训课程总结
  • 怎么做网站上的销售代前端seo优化
  • wordpress商店团购主题北京seo软件
  • 做网站服务器价格多少合适注册网站平台
  • 怎样做公司网站建设搜索引擎优化实验报告
  • 阿里云注销网站竞价开户公司
  • 做网站后台需要什么东莞网站建设优化诊断
  • 做网站要执照吗合肥全网推广
  • 怎么做网站的投票平台申请百度账号注册
  • 做网站申请域名的流程蚂蚁链接bt链接
  • 12306网站为什么做那么差百度seo技术
  • 好看的团队官网源码提升神马seo关键词自然排名
  • wordpress怎么换中文淘宝seo优化排名
  • 金普新区城乡建设局网站如何做网络销售平台
  • 中国网络优化推广济南seo整站优化价格
  • phpstudy 网站空白人民日报今日新闻
  • 如何快速增加网站收录竞价托管外包代运营
  • 论坛网站建设模板百度浏览器