报告提速开关默认打开 #121

Open
opened 2026-10-28 06:01:48 +08:00 by Claude · 4 comments
Collaborator

来自 #118 代码体检(体检第 2 条),清单第 2 单。由 Claude 直接实现,不交 Grok。

问题

scripts/report_perf_flags.py 的 RENDER_FAST_DEFAULT = False。快捷路径输出逐字节相同,审计实测快 27%(15.5 s → 11.4 s),只因当时没过 35% 门槛就关着。

改法

默认值改为开,保留环境变量作回退开关。

验收标准

scripts/research/report_reference_perf_ab.py 屏蔽 / 不屏蔽 PyJHora 各跑一遍:四张盘五字段 sha 相同;端到端 −25% 以上;Python 快速门 + 全量 pytest 与基线一致。

规矩

  • 基于 origin/staging,独立工作树 codex/*;只改这一件事。
  • BUG 号开工时按 docs/BUG_HISTORY.md 全文件取最大号 +1。
  • 同时改 frontend/src/app/(app)/page.tsx 的单按清单顺序串行。
  • 体检报告:docs/research/code_health_audit_2026_10_28.md(staging a31b6dda3)
来自 #118 代码体检(体检第 2 条),清单第 2 单。**由 Claude 直接实现,不交 Grok。** ## 问题 `scripts/report_perf_flags.py` 的 `RENDER_FAST_DEFAULT = False`。快捷路径输出逐字节相同,审计实测快 27%(15.5 s → 11.4 s),只因当时没过 35% 门槛就关着。 ## 改法 默认值改为开,保留环境变量作回退开关。 ## 验收标准 `scripts/research/report_reference_perf_ab.py` 屏蔽 / 不屏蔽 PyJHora 各跑一遍:四张盘五字段 sha 相同;端到端 −25% 以上;Python 快速门 + 全量 pytest 与基线一致。 ## 规矩 - 基于 origin/staging,独立工作树 `codex/*`;只改这一件事。 - BUG 号开工时按 `docs/BUG_HISTORY.md` 全文件取最大号 +1。 - 同时改 `frontend/src/app/(app)/page.tsx` 的单按清单顺序串行。 - 体检报告:`docs/research/code_health_audit_2026_10_28.md`(staging `a31b6dda3`)
Claude added the agent/试点agent/排队 labels 2026-10-28 06:01:52 +08:00
Claude added agent/规划中 and removed agent/排队 labels 2026-10-28 06:30:26 +08:00
Author
Collaborator

@jesse 报告提速开关的对比做完了。打开后报告内容一字不差,但提速没达到这张单写的「快 25% 以上」,需要你定。

本机实测(每张盘各跑 3 次取中位数;本机没装 PyJHora,相当于正式环境屏蔽 PyJHora 的口径):

测试盘(虚构) 关着 打开 快了 报告是否一样
白天出生 26.4 秒 20.3 秒 23% 逐字节相同
夜里出生 28.2 秒 20.9 秒 26% 逐字节相同
南印度盘 25.3 秒 20.4 秒 19% 逐字节相同
分节生成 28.5 秒 21.5 秒 25% 逐字节相同

10-14 那次测到 20~23%,当时定的门槛是 35%,所以一直关着。这次体检单我把门槛写成 25%,实测中位数约 23%,还是差一点。

你选:

  • A(推荐):照样打开。内容不变,每份报告快 5~7 秒,内存也更省;没有坏处,只是没达到当初自己定的数字。
  • B:先不开,等第 3 单(#122,去掉报告里的重复复制和重复计算)做完再一起量,两单加起来应该能过 25%。

我先去做 #122,两种选法都不耽误。

<!-- agent:claude escalate --> @jesse 报告提速开关的对比做完了。打开后报告**内容一字不差**,但提速没达到这张单写的「快 25% 以上」,需要你定。 本机实测(每张盘各跑 3 次取中位数;本机没装 PyJHora,相当于正式环境屏蔽 PyJHora 的口径): | 测试盘(虚构) | 关着 | 打开 | 快了 | 报告是否一样 | | --- | --- | --- | --- | --- | | 白天出生 | 26.4 秒 | 20.3 秒 | 23% | 逐字节相同 | | 夜里出生 | 28.2 秒 | 20.9 秒 | 26% | 逐字节相同 | | 南印度盘 | 25.3 秒 | 20.4 秒 | 19% | 逐字节相同 | | 分节生成 | 28.5 秒 | 21.5 秒 | 25% | 逐字节相同 | 10-14 那次测到 20~23%,当时定的门槛是 35%,所以一直关着。这次体检单我把门槛写成 25%,实测中位数约 23%,还是差一点。 你选: - **A(推荐)**:照样打开。内容不变,每份报告快 5~7 秒,内存也更省;没有坏处,只是没达到当初自己定的数字。 - **B**:先不开,等第 3 单(#122,去掉报告里的重复复制和重复计算)做完再一起量,两单加起来应该能过 25%。 我先去做 #122,两种选法都不耽误。
Claude added agent/需拍板 and removed agent/规划中 labels 2026-10-28 06:43:13 +08:00
Author
Collaborator

收到,按 A 照样打开。和 #122 一起测完、一起推,推上去后在这里说。

<!-- agent:claude plan decision=A --> 收到,按 A 照样打开。和 #122 一起测完、一起推,推上去后在这里说。
Claude added agent/规划中 and removed agent/需拍板 labels 2026-10-28 06:48:56 +08:00
Author
Collaborator

已按 A 打开,和 #122 一起推上 staging 3eeb89807,正在部署。报告内容一字不变;需要时在服务器设 JYOTISH_REPORT_RENDER_FAST=0 就能退回旧做法。部署好了我再说。

<!-- agent:claude review sha=3eeb898071a9df8b80d9968db1f9f0df6a46feaf verdict=pass staging=3eeb898071a9df8b80d9968db1f9f0df6a46feaf checklist=- --> 已按 A 打开,和 #122 一起推上 staging `3eeb89807`,正在部署。报告内容一字不变;需要时在服务器设 `JYOTISH_REPORT_RENDER_FAST=0` 就能退回旧做法。部署好了我再说。
Claude added agent/部署中 and removed agent/规划中 labels 2026-10-28 07:06:54 +08:00
Author
Collaborator

@jesse 已部署到 staging(线上版本 3eeb89807,前端和排盘服务都是这一版;门禁、数据库迁移、部署三步都成功)。

请在 staging 上生成一份完整报告看看用时,大约应比以前快 5~7 秒(和 #122 一起看就行)。报告内容和以前一样。没问题请关单;需要退回旧做法时,在服务器上设 JYOTISH_REPORT_RENDER_FAST=0 就行。

<!-- agent:claude deployed sha=3eeb898071a9df8b80d9968db1f9f0df6a46feaf --> @jesse 已部署到 staging(线上版本 `3eeb89807`,前端和排盘服务都是这一版;门禁、数据库迁移、部署三步都成功)。 请在 staging 上生成一份完整报告看看用时,大约应比以前快 5~7 秒(和 #122 一起看就行)。报告内容和以前一样。没问题请关单;需要退回旧做法时,在服务器上设 `JYOTISH_REPORT_RENDER_FAST=0` 就行。
Claude added agent/待真机 and removed agent/部署中 labels 2026-10-28 08:32:10 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: root/Jyotisha#121