Support websocket compression (permessage-deflate)#377
Conversation
This implements server_no_context_takeover and client_no_context_takeover support, but in a pretty naive way for now that gives correct results but doesn’t provide any memory efficiency advantage, which is the whole point of this feature.
e950415 to
058f75b
Compare
058f75b to
1762ce7
Compare
|
On shiny websites with plotly plots with a large number of points, generating the plot is the first bottleneck. Once that is cached (bindCache...) the transfer of the plotly object from server to client becomes the bottleneck. Having websocket per-message compression would reduce the cost of the transfer at the expense of compressing/decompressing each message. Ideally, having some websocket-based caching system would be awesome, so the web browser does not download the same plot more than once. I would imagine httpuv sending a hash of the response first, and then, if the browser does not have anything matching that hash, the full response (maybe with compression as implemented here). Thanks for all this work anyway... It's easy to suggest features, but it is much harder to implement them! |
|
Looking for permessage-deflate support in shiny led me here. Are there plans to merge this into main? |
|
Also came here looking to speed up shiny messages. Can I upvote this feature? |
No description provided.