- Go Version >= 1.18
- 避免资源冲突/锁竞争, 无锁优先
- 核心函数必须O(1)操作
- 高频访问的元素必须缓存行填充
- 牺牲部分空间换时间
- 尽量用array而非map
- 参数分析、收集要考虑值传递对性能影响
- etc
- RingBuffer : 缓冲流量数据
- LinkedQueue: 基于链表的同步队列。用作协程池的任务队列
- hmap(SegmentHashmap): 实现高性能的routineLocal
- bitmap: 记录函数、块的执行情况
- UnsafeCompressedStack : 模拟入栈弹栈
- routineLocal/GLS/GoRoutineLocalStorage: 缓存上下文
- routinePool: 协程池,并发处理文件
- Uint64GUIDGenerator
- RingBuffer与Map性能对比测试
A: 这部分实现会拷贝到目标仓库,为确保不与目标仓库sdk冲突,所以自行实现。对于不拷贝的目标仓库的代码,优先考虑用复用开源实现