hyperstack icon indicating copy to clipboard operation
hyperstack copied to clipboard

Performance improvements

Open illogikal opened this issue 5 years ago • 1 comments

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.

illogikal avatar Jun 29 '20 19:06 illogikal

@catmando any additional suggestions/notes?

illogikal avatar Jul 01 '20 09:07 illogikal