文章 · 第 5 页

4 分钟

for 和 range 的性能比较

Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。本文比较了普通的 for 循环和 range 在不同场景下的性能,并解释了背后的原理:range 迭代时返回迭代值的拷贝,如果每个迭代值占用内存过大,性能将显著地低于 for,将元素类型改为指针,能够解决这一问题。

6 分钟

切片(slice)性能及陷阱

Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。详细介绍了切片(slice) 常用的几种操作 append、copy 等的性能及原理。并且介绍了切片的陷阱,即什么情况下会产生大量内存被占用,而没法释放的情况。

5 分钟

字符串拼接性能及原理

Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。详细介绍了构造字符串/拼接字符串(string concatation) 的 5 种方式:+, strings.Builder, bytes.Buffer, []byte 和 fmt.Sprintf,比较了这 5 种方式的性能,并且深入解释了背后的原理。

8 分钟

pprof 性能分析

Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。详细介绍如何测试/评估 Go 代码的性能,内容包括使用 testing 库进行基准测试(benchmark),性能分析(profiling) 编译优化(compiler optimisations),内存管理(memory management)和垃圾回收(garbage collect)、pprof 等内容。同时也介绍了使用 Go 语言如何写出高性能的程序和应用,包括不限于 Go 语言标准库、第三方库的使用方式和最佳实践。

7 分钟

benchmark 基准测试

Go 语言/golang 高性能编程,Go 语言进阶教程,Go 语言高性能编程(high performance go)。详细介绍如何测试/评估 Go 代码的性能,内容包括使用 testing 库进行基准测试(benchmark),性能分析(profiling) 编译优化(compiler optimisations),内存管理(memory management)和垃圾回收(garbage collect)、pprof 等内容。同时也介绍了使用 Go 语言如何写出高性能的程序和应用,包括不限于 Go 语言标准库、第三方库的使用方式和最佳实践。