How to name branches and write commit messages when using git? A thorough summary of all usual conventions is given below.
C++内存对齐
内存对齐的底层原理
内存对齐后,可以达到更高的性能。但背后的原理是什么呢?本文从内存的物理组成方式,和读取原理上进行说明。
缺少指令集pclmulqdq导致无法运行crc32c的问题
cpu cache
不同IO模型的比较
c++服务内存持续增长问题的解决
c++ profile的大杀器-gperftools的使用
熟悉golang的同学,一定很熟悉用pprof来作为性能分析和可视化的工具,包括 cpu profile, memery profile等。这么方便且炫的功能,在C++里也一样能实现。所需要的工具就是gperftools。
golang中的map并发读写问题
map不是并发安全的
官方的faq里有说明,考虑到有性能损失,map没有设计成原子操作,在并发读写时会有问题。
Map access is unsafe only when updates are occurring. As long as all goroutines are only reading—looking up elements in the map, including iterating through it using a for range loop—and not changing the map by assigning to elements or doing deletions, it is safe for them to access the map concurrently without synchronization.
Remote Debugging Go Code with Visual Studio Code
当了解一些大型项目的代码逻辑时,如kubernetes,跟着调试器跟踪代码学习,是很好的方式。当项目部署在远程环境时,在本机进行开发,很自然对Remote Debug有迫切需求,这也是和调试一般golang程序最主要的诉求区别点,本文将通过两个实际例子,来介绍如何Remote Debug。