DHH, the creator of the Ruby on Rails framework, decided to rewrite Campfire Once from Ruby on Rails to Rust.
Move this paragraph here
In a constant-rate test at 100 POSTs/s, increasing the Rust broadcast channel capacity from 256 to 16,384 raised event delivery from about 14% to 90%, but pMAX latency also increased from 11s to over 130s. Reconnecting clients fetch recent messages, so the delivery percentage alone does not tell us whether this improves their experience.
Current paragraph
In a constant-rate test at 100 POSTs/s, increasing the Rust broadcast channel capacity from 256 to 16,384 raised event delivery from about 14% to 90%, but pMAX latency also increased from 11s to over 130s. Reconnecting clients fetch recent messages, so the delivery percentage alone does not tell us whether this improves their experience.
Try your own wording. Changes stay here until you reload.
Before comparing speed, I need to check compatibility. A rewrite that changes database access or client behavior may be doing different work.
The Rust version uses a bounded channel for notifications. A client that falls behind can reconnect and fetch recent messages. A larger buffer lets more notifications wait, but that wait still matters.
Previous placement
Later, in the benchmark discussion, I tested whether a larger buffer would help clients receive more notifications at the same request rate.
In a constant-rate test at 100 POSTs/s, increasing the Rust broadcast channel capacity from 256 to 16,384 raised event delivery from about 14% to 90%, but pMAX latency also increased from 11s to over 130s. Reconnecting clients fetch recent messages, so the delivery percentage alone does not tell us whether this improves their experience.
I would judge that trade-off by what people experience while using the chat, rather than by the delivery percentage alone.
