摘要:
atomic.AddInt64 介绍 原理 源码 看不到源码解释个勾八原理 源码里只有函数doc, 但是没有函数实现, 但是有一段注释 // AddInt64 atomically adds delta to *addr and returns the new value. // Consider 阅读全文
摘要:
golang: 分析查看汇编代码 查看可执行文件 可视化 注意: linux用户需要额外运行go install --tags nowayland loov.dev/lensm@main 下载 lensm: go install loov.dev/lensm@main 运行lensm: lens 阅读全文
摘要:
代码优化 多线程优化 尽量使用顺序读写 因为分支预测的关系, 顺序读写通常能够带来更好的性能. 共享变量 将只读变量和读写变量分离 有可能因为缓存行的原因导致读写变量的更新影响到读变量, 进而影响了运行速度 提升数据的局部性, 将一起使用的读写变量分组到一个结构中 缓存行Padding (谨慎使用) 阅读全文
摘要:
NUMA架构是一种多处理器系统内存设计,提供本地内存访问和远程内存访问,用于提高处理器访问内存的速度。在服务器、虚拟化环境、HPC和多线程应用中广泛应用。优化方法包括进程绑定、缓冲池配置和开启NUMA优化功能。 阅读全文
摘要:
虚拟内存使用基址加界限、基于段和基于页等不同方法进行地址转换。基址加界限简单但存在内存浪费,碎片问题;基于段实现内存保护和共享,但存在内部碎片和大小调整问题;基于页是现代操作系统常用的技术,通过页表完成地址映射,避免了段的缺点。 阅读全文
摘要:
CPU Cache 架构 每个程序员都应该了解的内存知识.pdf - p22 - 每个程序员都应该了解的内存知识-P22-20240328112647 每个程序员都应该了解的内存知识.pdf - p23 - 每个程序员都应该了解的内存知识-P23-20240328112807 每个程序员 阅读全文
摘要:
南桥&北桥&内存 结构 每个程序员都应该了解的内存知识.pdf - p5 - 每个程序员都应该了解的内存知识-P5-20240327103419 功能 每个程序员都应该了解的内存知识.pdf - p5 - 每个程序员都应该了解的内存知识-P5-20240327104347 北桥 主要是连 阅读全文