mirror of
https://github.com/basecamp/once-campfire.git
synced 2026-10-08 07:40:08 +09:00
c761763c8c
Every boost had its own fragment, nested inside the message fragment that already holds it. With a cold cache, a read and a write per boost plus a read_multi and a write_multi per message: a room page of 40 messages with 120 boosts takes ~410 ms instead of ~290 ms. Redis runs without persistence (config/redis.conf), so every page is cold after a restart. A boost touches its message, so adding or removing one rewrites the message fragment anyway. The inner fragments only paid off when a message with many boosts was drawn again, and there they hid a lookup per booster. The boosters are now loaded with the boosts, one query per message. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0142qgjggdJ2KDdGk7RF9Xm9