编写和优化Go代码

本文档概述了编写高性能Go代码的最佳实践。

虽然有些讨论会提高单个服务的速度(通过缓存等),但设计高性能的分布式系统已经超出了这项工作的范围。在监控和分布式系统设计方面已经有很好的文章,它包含了一套完全不同的研究和设计权衡理论。

所有内容将根据CC-BY-SA进行许可。

本书分为以下几节:

1) 编写高性能软件的基本技巧
  * CS 101-level的东西
2) 编写快速软件的技巧
  * 关于如何从Go获得最佳效果的Go-specific章节
3) 编写*真正*快速软件的高级技巧
  * 当你优化的代码不够快时

我们可以总结这三个部分:

  • “合理的”
  • “慎重的”
  • “危险的”

何时何地做优化

我先把这个放在第一位,是因为这真的是最重要的一步。你真的应该这么做吗?

每个优化都有成本。通常,这个成本是用代码复杂度或认知负载来承担的 - 优化后的代码很少比优化前的版本简单。

但另一方面,我称之为“优化经济学”。作为程序员,你的时间是宝贵的。你可以为你的项目工作的机会成本,哪些Bug需要修复,以及需要添加哪些功能。优化的工作是很有趣的,但并不总是正确的选择。性能是一种特性,但交付和正确性也是如此。

选择最重要的工作。有时它不是一个实际的CPU优化,而是一个用户体验。就像添加进度条一样简单,或者在渲染页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少林码僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值