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

如何备份网站 整站阿里云企业建站教程

如何备份网站 整站,阿里云企业建站教程,h5页面设计模板,去掉/wordpress一、什么是基准测试#xff08;Benchmark#xff09; 在 Go 中#xff0c;基准测试是通过创建以 Benchmark 开头的函数#xff0c;并接收一个 *testing.B 类型的参数来实现的。testing.B 提供了控制基准测试执行的接口#xff0c;比如设置测试执行的次数、记录每次执行的…一、什么是基准测试Benchmark 在 Go 中基准测试是通过创建以 Benchmark 开头的函数并接收一个 *testing.B 类型的参数来实现的。testing.B 提供了控制基准测试执行的接口比如设置测试执行的次数、记录每次执行的时间等。 每个基准测试函数都必须接受一个 *testing.B 类型的参数。函数体内通过 b.N来控制基准测试的执行次数Go 会自动调整 b.N 的值确保每次基准测试运行的时间足够长。 例如 package mainimport (testing )// 基准测试函数 func BenchmarkMyFunction(b *testing.B) {// 这里是测试的代码每次循环 b.N 次for i : 0; i b.N; i {// 被测试的函数或代码块_ hello} } 二、怎么进行基准测试 要运行基准测试可以使用 go test 命令指定 -bench 标志来启动基准测试。 go test -bench .bench .表示运行当前目录下所有以 Benchmark 开头的函数。bench pattern 可以通过提供正则表达式来运行特定的基准测试比如 go test -bench BenchmarkMyFunction 仅运行 BenchmarkMyFunction。 运行基准测试并报告内存分配 go test -bench . -benchmembenchmem该标志会显示内存分配的详细信息包括每次基准测试中分配了多少内存。 package mainimport (testingunsafe )func BenchmarkBytes2Str(b *testing.B) {aa : []byte(mclink)for n : 0; n b.N; n {Bytes2Str(aa)} } func BenchmarkBytes2StrUnsafe(b *testing.B) {aa : []byte(mclink)for n : 0; n b.N; n {Bytes2StrUnsafe(aa)} }func Bytes2Str(b []byte) string {return string(b) }func Bytes2StrUnsafe(b []byte) string {return *(*string)(unsafe.Pointer(b)) } #从左到右分别表示benchmark函数、运行次数、单次运行消耗的时间、单次运行内存分配的字节数和次数 BenchmarkBytes2Str-8 :基准测试的名称和 CPU 核心数量这里 -8 表示在 8 核 CPU 上运行。 317858601:测试函数执行了 20,000,000 次。 3.720 ns/op:每次执行 BenchmarkBytes2Str-8 的平均耗时为 3.72 纳秒。 0 B/op每次测试没有内存分配。 0 allocs/op每次测试没有进行内存分配。 三、复杂的基准测试 有时在基准测试中某些初始化工作并不应该计入测试时间。可以使用 b.StartTimer() 和 b.StopTimer() 来控制计时开始和结束。 func BenchmarkWithStartStopTimer(b *testing.B) {// 1. 先进行一些初始化工作setup()// 2. 在基准测试前停止计时这部分不会计入基准测试时间b.StopTimer()// 3. 进行某些准备工作或其他代码这部分不会计入基准测试时间time.Sleep(100 * time.Millisecond)// 4. 启动计时开始计入基准测试时间b.StartTimer()// 5. 开始基准测试for i : 0; i b.N; i {performWork()}// 6. 结束时停止计时b.StopTimer() } b.StartTimer()开始计时。b.StopTimer()停止计时。b.ResetTimer()重置计时器确保计时仅限于你关心的代码 你可以使用 b.ReportAllocs() 启用内存报告来查看每次基准测试中分配了多少内存。 func BenchmarkAllocations(b *testing.B) {b.ReportAllocs() // 启用内存分配报告for i : 0; i b.N; i {_ make([]byte, 1024) // 模拟内存分配} }通过 -benchtime 设置基准测试时间 go test 命令支持 -benchtime 标志可以控制基准测试的执行时长。例如如果你想要让基准测试执行 2 秒钟 go test -bench . -benchtime2s跳过普通单元测试只运行基准测试 如果你只想运行基准测试而跳过普通的单元测试可以使用 -run^$ 来过滤单元测试 go test -bench . -run^$和pprof 混合双打 package mainimport (fmttestingtimeruntime/pprofos )// 需要进行基准测试的函数 func performTask() {// 模拟耗时操作time.Sleep(100 * time.Millisecond) }// 基准测试函数 func BenchmarkWithPprof(b *testing.B) {// 创建一个文件来保存 CPU 分析数据f, err : os.Create(cpu.pprof)if err ! nil {b.Fatal(could not create CPU profile: , err)}defer f.Close()// 启动 pprof开始记录 CPU 使用情况if err : pprof.StartCPUProfile(f); err ! nil {b.Fatal(could not start CPU profile: , err)}defer pprof.StopCPUProfile()// 进行基准测试for i : 0; i b.N; i {performTask()} }// 运行基准测试的命令go test -bench . // 运行完之后会生成一个 cpu.pprof 文件可以用 go tool pprof 查看分析数据。 如何使用 pprof 请看上一篇文章。 下一篇Go的 Trace 工具
http://www.ho-use.cn/article/10820354.html

相关文章:

  • 3g手机网站建设开发公司工程部主管岗位职责及工作内容
  • 招聘网站开发教程企业网站建设方案怎么写
  • 做的网站百度搜不到wordpress 上传模板
  • 唐山专业网站建设公司wordpress商业授权价格
  • 如何做网站做网站需要多少钱商城建设网站的原因
  • 热门网站建设加盟平台禅城区电话黄页
  • 网站建设公司网址东莞人才市场招聘官网
  • 山东济南最新消息百度优化公司
  • 移动端h5网站开发框架个人网站设计介绍文字
  • 莱阳 网站建设什么是网站标题
  • 娱乐公司网站模板佛系汉化组wordpress博客
  • 全国购网站建设wordpress主题图片丢失
  • 四川网站建设培训学校什么都能买到的网站
  • 网站开发有哪些框架惠州地区网站建设公司
  • 百度指数数据分析平台官网seo优化营销专员招聘
  • 佛山网站设计联系方式微信网站建设口碑好
  • 投票网站怎么做的芜湖比较出名的企业
  • 秦皇岛网站制作网页设计基础教程视频教程
  • 专业网站建设报价网址大全12306
  • 高创园网站建设方案wordpress 多媒体尺寸
  • 百度推广 帮做网站吗用自己网站做邮箱域名
  • 网站建设会面临些什么问题品牌建设架构
  • 网站关键词排名优化上海临港
  • 中文网站站内优化怎么做沧州高端网站建设
  • 网站建设基础问题广告设计培训班学费一般多少钱
  • 彩票网站上的走势图是怎么做的做网站好用的cms
  • 洛阳市住房与城乡建设部网站公司注销后 网站备案
  • 东莞h5网站制作网站开发的最初阶段包括
  • 怎么在外国网站上找产品做跨境电商网站被host重定向
  • 网站建设更新维护工作好看的手机网站模板