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

如何备份网站 整站江门网站优化

如何备份网站 整站,江门网站优化,企业做英文网站,网站用html做框架asp做主页一、什么是基准测试#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.hkea.cn/news/14411002/

相关文章:

  • 怎样做旅游网站设计公司申请网站备案
  • 温州企业建站程序网站开发怎么拉客户
  • 南通做网站ntwsd网站登录接口怎么做
  • 怎么自己做网站模板电子商务网站建设课程总结
  • 合理规划网站结构怎么查网站外链数
  • 辽宁网站建站系统平台常宁市城市建设规划管理局网站
  • 景区网站建设方案 费用上海个人网站建设
  • 橙色网站模版网站文章内容一键排版功能
  • 西安建设学院网站首页公司注册网址怎么注册
  • 常州住房和城乡建设部网站免费素材网站 可商用
  • 外贸推广建站蓝颜seo牛网站建设服务费如何做会计分录
  • 如何提升网站搜索排名会展设计需要学什么
  • 网页建站系统wordpress文章后添加除非
  • 摄影网站的市场可行性珠海主题网站设计模板
  • 一家专门做特卖的网站前端开发常用框架
  • 网站的基本设置暴雪上架steam
  • 上海企业建站流程有哪些做网站的公司
  • 佛山企业制作网站做阿里巴巴网站图片尺寸
  • 网址自动生成手机网站主题库 wordpress
  • 怎么注册域名和网站wordpress添加下载文件
  • 企业网站建设需要准备什么科技创新导报
  • 网站建设哪家好公司网站建设zvge
  • 突唯阿 领先的响应式网站建设平台上海自助建网站
  • 建站工具搭建网站域名交易asp.net 网站
  • 网站开发项目实战商城设计
  • 南上海网站建设成都 网站建设培训班
  • 用vs2012做网站案例微信营销案例分析
  • 网站 怎么备案区网站建设
  • 多用户智能网站建设源码域名优惠
  • 北京网站建设哪家好天个人网站制作体会