Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Golang性能优化

Zoom.Quiet
December 04, 2013

 Golang性能优化

珠三角技术沙龙广州11月Golang专场回顾 | TechParty:珠三角技术沙龙 | 打造泛珠三角技术圈线上线下交流的平台
http://techparty.org/2013-12/golang/

Zoom.Quiet

December 04, 2013
Tweet

More Decks by Zoom.Quiet

Other Decks in Technology

Transcript

  1. ©  广州舜飞信息科技有限公司  All  Right  ReservedAll  Right  Reserved   数据驱动价值!——Enhancing  Data

     Usability!   网络运营全流程解决方案供应商   By @miraclesu GO  性能优化  
  2. •  string  &  profiling   •  slice & array • 

    slice & map 初始化   •  并发   •  缓存   概要  
  3. •  go  test  -c   •  go test -test.bench=. -test.cpuprofile=cpu.prof

    •  go tool pprof bench.test cpu.prof   profiling
  4. •  func AppendBool(dst []byte, b bool) []byte •  func AppendFloat(dst

    []byte, f float64, fmt byte, prec int, bitSize int) []byte •  func AppendInt(dst []byte, i int64, base int) []byte •  func AppendUint(dst []byte, i uint64, base int) []byte •  func FormatBool(b bool) string •  func FormatFloat(f float64, fmt byte, prec, bitSize int) string •  func FormatInt(i int64, base int) string •  func FormatUint(i uint64, base int) string strconv  
  5. 专业DSP解决方案   ©  广州舜飞信息科技有限公司  All  Right  ReservedAll  Right  Reserved  

    slice  初始化测试结果   BenchmarkSlice    50000    33351 ns/op BenchmarkSliceCap  100000  16432 ns/op
  6. 专业DSP解决方案   ©  广州舜飞信息科技有限公司  All  Right  ReservedAll  Right  Reserved  

    map 初始化测试结果   BenchmarkMap                  5000            277715  ns/ op   BenchmarkMapCap          10000            136396  ns/ op  
  7. BenchmarkSlice            50000      

     33351  ns/op   BenchmarkMap              5000                    277715  ns/op   BenchmarkSliceCap      100000          16432  ns/op   BenchmarkMapCap      10000            136396  ns/op   slice or map?
  8. 专业DSP解决方案   ©  广州舜飞信息科技有限公司  All  Right  ReservedAll  Right  Reserved  

    slice & map Read 测试结果   BenchmarkMapRead    10000000                155   ns/op   BenchmarkSliceRead    20000000                    86.8   ns/op  
  9. 专业DSP解决方案   ©  广州舜飞信息科技有限公司  All  Right  ReservedAll  Right  Reserved  

    •  洗水壶  (1分)   •  烧开水  (15分)   •  洗茶壶  (2分)   •  拿茶叶  (1分)   •  泡茶  (5分)   •  洗茶杯  (2分)   总用时  26分钟  
  10. ©  广州舜飞信息科技有限公司  All  Right  ReservedAll  Right  Reserved   数据驱动价值!——Enhancing  Data

     Usability!   网络运营全流程解决方案供应商   苏创绩  @miraclesu-创绩   Q  &  A   欢迎加入我们