乐趣区

关于golang:Go-语言高性能编程

目录

  • 序言

    • 对于本书
  • 第一章 性能剖析

    • benchmark 基准测试
    • pprof 性能剖析
  • 第二章 罕用数据结构

    • 字符串拼接性能及原理
    • 切片 (slice) 性能及陷阱
    • for 和 range 的性能比拟
    • 反射 (reflect) 性能
  • 第三章 并发编程

    • 读写锁和互斥锁的性能比拟
    • 如何退出协程(超时场景)
  • 第四章 编译优化

    • 减小编译体积
  • 附录 Go 语言陷阱

    • 数组和切片

这个系列的由来

我应用 Go 作为主力编程语言曾经有一年多的工夫了,次要的工作职责是开发一些效率工具,例如分布式编译减速工具。对性能不太敏感的中央,通常会应用 Python,因为 Python 在文本处理上有其余语言不可比较的劣势,而在一些对性能特地敏感的中央,则会抉择 Go。Go 语言让我最为推崇的莫过于 Go 的并发,协程加信道,sync 加 select,我感觉很难再有那么一门语言,并发可能做得像 Go 一样简略。

为了加深对 Go 的了解,我尝试去学习一些驰名的开源我的项目,比方分布式缓存 groupcache。知乎上有个问题,“有哪些值得学习的 Go 语言开源我的项目?”,这个答复上面,groupcache 被提到了不下 3 次。groupcache 代码精炼、功能强大,堪比缓存的瑞士军刀。一个好的我的项目必定是备受推崇的,从这些优良的我的项目中吸取精髓,我感觉是把握一门语言最疾速的形式。因而,我创立了一个我的项目,叫做 7days-golang,七天用 Go 模拟一个开源我的项目,心愿用 1000 行不到的代码去模拟开源我的项目中最为精髓的局部。这个我的项目也让我受益匪浅,在这个过程中学习到的一些编程办法和思维,也让我的工作变得乏味了起来。一些优雅的设计和实现,代码量极少,效率又极高。比方一致性哈希,single flight 等等。

通过学习一些驰名的开源我的项目和 Go 的源码,也把握了很多编程的技巧,晓得怎么写能力取得更好的性能。这些技巧是零散的,我始终心愿可能将这些技巧系统地整理出来,一直地欠缺,最终造成一本高性能编程的指南。因而,开启了 Go 语言高性能编程 这个电子书我的项目。这个我的项目刚起步,处于一个逐步完善的过程,与各位童鞋共勉。

这本书适宜谁?

如果你是 Go 的初学者,倡议先浏览 Go 语言扼要教程,一篇文章理解 Go 的根底语法。这本书适宜应用 Go 作为主力编程语言曾经有一段时间,心愿进一步晋升 Go 编程技巧的童鞋。

举荐和参考

  • Go 语言口试面试题汇总
  • 七天用 Go 从零实现系列

原文地址 :Go 语言高性能编程 | 极客兔兔
我的项目地址 :high-performance-go
关注知乎:极客兔兔

退出移动版