hyperstack-org / hyperstack-org/hyperstack

Performance improvements

未關閉
#314 1 則留言 1 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
JavaScript
星號
538
分支
41
PR 合併指標
30 天內沒有已合併 PR

描述

Here are a few suggestions I've been thinking about while developing with hyperstack

Any cable go: https://docs.anycable.io/v1/#/ruby/rails
A drop in replacement for the action cable server integrated into rails. Much much faster, and less resource intensive as it's written in go. Integrated in 15 minutes and no currently problems found yet. Good candidate for a default choice for action cable in hyperstack.

Actioncable web worker: I think it would be good to move actioncable into a web worker, as it will move data fetching (and eventually processing) off the main thread leaving mainly dom updates. (Should be a lot faster. Partially inspired by https://github.com/neomjs/neo)

For the web worker, I am making a note of the places in the code where I would need to make changes, or be aware of. @catmando please add anything I've missed:

https://github.com/hyperstack-org/hyperstack/blob/edge/ruby/hyper-operation/lib/hyper-operation/transport/client_drivers.rb#L282
https://github.com/hyperstack-org/hyperstack/blob/edge/ruby/hyper-operation/lib/hyper-operation/transport/client_drivers.rb#L108
https://github.com/hyperstack-org/hyperstack/blob/edge/ruby/hyper-operation/lib/hyper-operation/transport/connection.rb
https://github.com/hyperstack-org/hyperstack/blob/edge/ruby/hyper-operation/lib/hyper-operation/transport/hyperstack_controller.rb

If I can make the changes inside actioncable without changing the external interface, the touchpoints of change in the hyperstack codebase should be small for now.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。