Jia Sui
6b4f8e5398
fix(server): 速度分母加下限避免零散输入日算出离谱速率 (#614)
活跃时间只累加相邻两次上屏之间的间隔,首键之前与末键之后的时间不在其中。零散输入的日子分母可能只剩几秒,按它外推会得到没人打过的速率:本机 20261004 记录 81 个可读字符 / 1.9 秒活跃,页面显示 2503 字/分。
CharsPerMinute 在 active_ms > 0 时改用 max(active_ms, kMinSpeedActiveMs) 作分母。active_ms <= 0 仍返回 0——那是没有测量,不是测量小,不该被下限救活。
kMinSpeedActiveMs 与 kFastestSpeedMinActiveMs 保持为两个常量、两个理由:下限管数值,排名门槛管资格。没有门槛的话,被下限压到「每分钟字数」量级的爆发日仍会拿下最快日。
前端 speedOf 是同一公式的手写副本,一并改,并把运算顺序对齐 C++ 的 chars / (ms / 60000),否则两侧会差一个 ulp。落库口径不变,无需迁移历史数据。
2026-10-04 14:24:53 +08:00
..
2026-09-20 19:08:16 +08:00
2026-09-20 19:08:16 +08:00
2026-09-20 19:08:16 +08:00
2026-09-20 19:08:16 +08:00
2026-10-04 14:24:53 +08:00
2026-09-20 19:08:16 +08:00
2026-09-20 19:08:16 +08:00
2026-09-20 19:08:16 +08:00
2026-09-20 20:34:50 +08:00
2026-09-20 20:34:50 +08:00
2026-10-04 14:24:53 +08:00