Skip to content

1.3.2

Compare
Choose a tag to compare
@Ahoo-Wang Ahoo-Wang released this 16 Jul 17:39
· 1015 commits to main since this release
  • add MergedIdSegment to reduce the number of IdSegment creations.
  • add PrefetchWorkerExecutorService to improve thread utilization of PrefetchWorker.
  • optimize performance, use CacheClock to replace System#currentTimeMillis(too slow!)  implementation .
  • enhance: Numerical overflow check
  • optimize the calculation of safety distance

  • 增强:新增 MergedIdSegment 合并 IdSegment 避免创建过多 IdSegment 对象。
  • 增强:新增 亲和性预取线程池 PrefetchWorkerExecutorService(PrefetchWorker 1:n PrefetchJob),提升 PrefetchWorker 利用率,防止因申明过多 SegmentChainId 导致的创建过多线程的问题(PrefetchWorker 1:1 PrefetchJob)。
  • 增强:使用 CacheClock 替换 System.currentTimeMillis提升获取当前时钟性能。
    • System.currentTimeMillis: 太慢了,TPS只有7191W+/s,低于 SegmentChainId 能达到的峰值12743W+/s,当开启IdSegmentttl功能时会影响SegmentChainId峰值性能。
    • CacheClock: TPS 41765W+/s ,精度1秒,应用需要容忍潜在的1秒精度延迟可能性,在 TTL 检查的场景中完全适用。
  • 增强:数值计算溢出检查。
  • 增强:优化安全间隙(safeGap)计算逻辑