1.1 KiB
1.1 KiB
Test Report: @go/id
📋 测试概览
- 测试时间: 2026-05-01
- 测试环境: darwin/amd64 (Intel i9-9980HK)
- Go 版本: 1.25.0
✅ 功能测试 (Functional Tests)
| 场景 | 状态 | 描述 |
|---|---|---|
TestMakeID |
PASS | 生成长度符合预期的通用 ID。 |
TestGetForMysql |
PASS | 生成 MySQL 友好主键,包含右旋散列逻辑。 |
TestGetForPostgreSQL |
PASS | 生成 PostgreSQL 友好主键,无右旋散列。 |
⚡ 性能基准 (Benchmarks)
| 函数 | 平均耗时 |
|---|---|
MakeID-10 |
1572 ns/op |
GetForMysql-10 |
1552 ns/op |
- 集成
@go/rand的FastInt优化,在高并发下彻底规避了锁竞争。 - ID 生成性能稳定,满足高性能主键生成场景。
🛡️ 鲁棒性防御 (Robustness)
- 并发安全:核心计数器使用
sync.Mutex保护。 - 碰撞防御:秒级重置机制配合随机偏移初始化,极大地降低碰撞概率。
- 扩展性:支持自定义钩子,轻松对接 Redis 等分布式协调服务。