基準測試程式碼: https://github.com/Ahoo-Wang/CosId/tree/main/cosid-benchmark
git clone [email protected]:Ahoo-Wang/CosId.git
cd cosid-benchmark
./gradlew jmh
# JMH version: 1.36
# VM version: JDK 17.0.7, OpenJDK 64-Bit Server VM, 17.0.7+7-LTS
# Warmup: 1 iterations, 10 s each
# Measurement: 1 iterations, 10 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
Benchmark (step) Mode Cnt Score Error Units
AtomicLongBenchmark.generate N/A thrpt 142725210.565 ops/s
CosIdBenchmark.generate 1 thrpt 131920684.604 ops/s
CosIdBenchmark.generate 100 thrpt 132113994.232 ops/s
CosIdBenchmark.generate 1000 thrpt 130281016.155 ops/s
LeafBenchmark.generate 1 thrpt 25787669.815 ops/s
LeafBenchmark.generate 100 thrpt 23897328.183 ops/s
LeafBenchmark.generate 1000 thrpt 23550106.538 ops/s
GitHub Action 環境測試報告: Performance: CosId vs Leaf
因受到 GitHub Runner 資源限制,執行在 GitHub Runner 中的基準測試與真實環境基準測試對比有非常大的差距(近2倍),
但是對於執行在同一環境設定資源情況下(都執行在 GitHub Runner),進行 commit 前後的基準對比、以及第三方庫的對比依然是有價值的。
AtomicLong
,參考 https://www.cnblogs.com/Ahoo-Wang/p/cosid-segment-chain.html。作者:Ahoo Wang (阿虎)
Github: https://github.com/Ahoo-Wang/
SmartSql(高效能、高生產力,超輕量級的ORM!): https://github.com/Ahoo-Wang/SmartSql
SmartCode(不只是程式碼生成器!): https://github.com/Ahoo-Wang/SmartCode
CoSky 高效能、低成本微服務治理平臺 : https://github.com/Ahoo-Wang/CoSky
CosId 通用、靈活、高效能的分散式 ID 生成器 : https://github.com/Ahoo-Wang/CosId
Govern EventBus 歷經多年生產環境驗證的事件驅動架構框架: https://github.com/Ahoo-Wang/govern-eventbus
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。