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

制作企业网站与app有什么不同2020 惠州seo服务

制作企业网站与app有什么不同,2020 惠州seo服务,网站推广有哪些公司可以做,菏泽seo简介 使用完整的基准测试代码文件,可以直接运行来比较四种字符串拼接方法的性能。 for 索引 的方式 for range 的方式 strings.Join 的方式 strings.Builder 的方式 写一个基准测试文件 echo_bench_test.go package mainimport ("os""stri…

简介

使用完整的基准测试代码文件,可以直接运行来比较四种字符串拼接方法的性能。

  • for 索引 += 的方式

  • for range += 的方式

  • strings.Join 的方式

  • strings.Builder 的方式

写一个基准测试文件

echo_bench_test.go

package mainimport ("os""strings""testing"
)func echoAll1() string {var s, sep stringfor i := 0; i < len(os.Args); i++ {s += sep + os.Args[i]sep = " "}return s
}func echoAll2() string {s, sep := "", ""for _, arg := range os.Args[:] {s += sep + argsep = " | "}return s
}func echoAll3() string {return strings.Join(os.Args[:], " , ")
}// strings.Builder 是 Go 推荐的高效字符串拼接方式,尤其在循环中拼接时,
// 可以减少内存分配。func echoAll4() string {var builder strings.Builderfor i, arg := range os.Args[:] {if i > 0 {builder.WriteString(" <> ")}builder.WriteString(arg)}return builder.String()
}// ===== Benchmark Functions =====func BenchmarkEchoAll1(b *testing.B) {// 模拟更长参数列表,避免误差过大originalArgs := os.Argsos.Args = make([]string, 100)for i := range os.Args {os.Args[i] = "arg"}b.ResetTimer()for i := 0; i < b.N; i++ {_ = echoAll1()}os.Args = originalArgs // 恢复
}func BenchmarkEchoAll2(b *testing.B) {originalArgs := os.Argsos.Args = make([]string, 100)for i := range os.Args {os.Args[i] = "arg"}b.ResetTimer()for i := 0; i < b.N; i++ {_ = echoAll2()}os.Args = originalArgs
}func BenchmarkEchoAll3(b *testing.B) {originalArgs := os.Argsos.Args = make([]string, 100)for i := range os.Args {os.Args[i] = "arg"}b.ResetTimer()for i := 0; i < b.N; i++ {_ = echoAll3()}os.Args = originalArgs
}func BenchmarkEchoAll4(b *testing.B) {originalArgs := os.Argsos.Args = make([]string, 100)for i := range os.Args {os.Args[i] = "arg"}b.ResetTimer()for i := 0; i < b.N; i++ {_ = echoAll4()}os.Args = originalArgs
}

运行基准测试

go test -bench=. -benchmem

示例输出结果(不同机器会略有不同):

goos: darwin
goarch: amd64
pkg: example
BenchmarkEchoAll1-8     500000     3500 ns/op     120 B/op     5 allocs/op
BenchmarkEchoAll2-8     700000     2400 ns/op     104 B/op     4 allocs/op
BenchmarkEchoAll3-8    1000000     1600 ns/op      80 B/op     2 allocs/op
BenchmarkEchoAll4-8    2000000      800 ns/op      32 B/op     1 allocs/opPASS
ok  	example	3.456s

每一行含义:

字段含义
BenchmarkEchoAll1测试函数名
-8使用的 CPU 线程数(8 核)
500000b.N 的值,代表该函数跑了 50 万次
3500 ns/op每次调用耗时 3500 纳秒
120 B/op每次操作分配的字节数(字节越少越好)
5 allocs/op每次操作的内存分配次数(次数越少越好)

Go 的基准测试自动决定运行次数(b.N),直到结果足够稳定。

方法ns/opB/opallocs/op说明
EchoAll13500 ns120 B5+= 每次创建新字符串,开销大
EchoAll22400 ns104 B4range + +=,仍然多次内存分配
EchoAll31600 ns80 B2Join 比较高效
EchoAll4800 ns32 B1strings.Builder 最优
http://www.dtcms.com/wzjs/354349.html

相关文章:

  • 香港做批发的网站有哪些天津百度搜索排名优化
  • java和PHP做网站哪个好6seo百度站长工具
  • 发帖推广平台湖南网站建设seo
  • 兄弟们有没有没封的网站二十条优化措施全文
  • 长春网站建设找新生科技seo优化中商品权重主要由什么决定
  • 合肥怎么做网站域名被墙查询检测
  • 网站建设主题重庆百度推广优化
  • 郑州网站制作公司排名百度导航下载2021最新版
  • 做网站用的主机多少合适seo优化推广技巧
  • 互联网网站建设月总结优化大师破解版app
  • 做pc端网站行业现状百度广告太多
  • 韩国有哪些专业做汽车的网站?宁波seo关键词优化教程
  • 免费游戏推广平台网站优化人员通常会将目标关键词放在网站首页中的
  • 做网站建设公司宁波seo服务快速推广
  • 河南国基建设集团有限公司网站搜外网
  • 一键生成100个原创视频关键词优化上海
  • 濮阳机械设备企业网站建设制作网站大概多少钱
  • 深圳装修设计生产厂家seo点击工具帮你火21星热情
  • 动态网站开发教程网页开发教程
  • 长沙做网站美工的公司市场营销公司
  • 大连门户网站开发职业技能培训网
  • wordpress 分类主题品牌网络seo方案外包
  • 2021成人自考官网上海seo顾问推推蛙
  • 网络下载的网站模板能直接上传到虚拟主机十大广告投放平台
  • 网站建设亿金手指科杰希爱力双效片用后感受
  • 推荐个临汾做网站的品牌营销策划公司
  • wordpress 响应式产品展示站做好网络推广的技巧
  • 网站建设与管理大作业网站优化资源
  • 天津做网站一般多少钱优化师助理
  • 网站做填充电商网站seo优化