Go 语言内存管理详解|青训营笔记

51 阅读1分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 4天 一、本堂课重点内容:

二、详细知识点介绍: 性能优化是什么? 提升软件系统处理能力,减少不必要的消耗,重复发掘计算机算力。 为什么要做性能优化? 用户体验:带来用户体验的提升(让双十一购物不再卡顿) 资源高效利用:降低成本,提高效率(很小的优化乘以海量机器会是显著的性能提升和成本节约) 1.性能优化的层面: 业务代码 SDK 基础库 语言运行时(语言的实现) OS(提供运行环境)

对于这些层面有两个优化 业务层优化 ·针对特定场景,具体问题,具体分析 ·容易获得较大性能收益 语言运行时优化 ·解决更通用的性能问题 ·考虑更多的场景 ·Tradeoffs 不管是业务层优化还是语言运行时优化,都需要数据驱动进行优化 数据驱动 ·自动性能分析工具——pprof ·依靠数据而非猜测 ·首先优化最大瓶颈

2.性能优化与软件质量 ·软件质量至关重要 ·在保证接口稳定的前提下改进具体实现(让别人对产品有信心) ·测试用例:覆盖尽可能多的场景,方便回归(有时测试代码比优化代码还多) ·文档:做了什么,没做什么,能达到怎样的效果 ·隔离:通过选项控制是否开启优化(开了和不开不能影响到产品的稳定性) ·可观测:必要的日志输出