hyperstack-org / hyperstack-org/hyperstack

Performance improvements

Open
#314 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
JavaScript
Stars
538
Forks
41
PR merge metrics
No merged PRs in 30d

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.