Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimization: compress edn payloads #59

Closed
ptaoussanis opened this issue Aug 5, 2014 · 1 comment
Closed

Optimization: compress edn payloads #59

ptaoussanis opened this issue Aug 5, 2014 · 1 comment
Assignees

Comments

@ptaoussanis
Copy link
Member

Should be easy to automatically+transparently compress edn strings that are long enough to benefit. This'll help cut down on data transfer (esp. useful for mobile clients, etc.)

Server-side compression could be TTL-memoized to get acceptable broadcast performance even for very large payloads.

@ptaoussanis ptaoussanis self-assigned this Aug 5, 2014
@ptaoussanis ptaoussanis added this to the v1.1.0 milestone Aug 5, 2014
@ptaoussanis
Copy link
Member Author

Closing, included in next release.

ptaoussanis added a commit that referenced this issue Sep 1, 2014
…, [#69] (@hugoduncan), more

Completely refactored Sente's client<->server data handling for:
  * Greater consistency, simplicity, robustness.
  * Increased efficiency (smaller cb ids, leaner cb wrapping format).
  * Pluggable serialization.

The pluggable serialization brings optional support for Transit, incl.
JSON and MessagePack over Transit (thanks to @ckarlsen for getting the ball
rolling on this!).

An early, experimental FlexiPacker is provided that allows per-payload
format selection and simple heuristic-based auto format selection for highly
efficient client<->server data comms in a wide range of use cases. This will
likely become Sente's standard (if not default) package format in future.

Other changes in this squashed commit include:
  * General code review + clean-up.
  * Improved logging.
  * A new client-side `chsk-destroy!` API fn.
  * Improved client+server router support for component-style configs
    (thanks to @hugoduncan for this!): server+client side routers now
    both receive `event-msg`s, and those `event-msg`s contain more
    useful goodies.
  * Client-side router now traps+logs errors like the server-side router.
  * Improve reference example's compatibility with LightTable.
ptaoussanis added a commit that referenced this issue Sep 1, 2014
…, [#69] (@hugoduncan), more

Completely refactored Sente's client<->server data handling for:
  * Greater consistency, simplicity, robustness.
  * Increased efficiency (smaller cb ids, leaner cb wrapping format).
  * Pluggable serialization.

The pluggable serialization brings optional support for Transit, incl.
JSON and MessagePack over Transit (thanks to @ckarlsen for getting the ball
rolling on this!).

An early, experimental FlexiPacker is provided that allows per-payload
format selection and simple heuristic-based auto format selection for highly
efficient client<->server data comms in a wide range of use cases. This will
likely become Sente's standard (if not default) package format in future.

Other changes in this squashed commit include:
  * General code review + clean-up.
  * Improved logging.
  * A new client-side `chsk-destroy!` API fn.
  * Improved client+server router support for component-style configs
    (thanks to @hugoduncan for this!): server+client side routers now
    both receive `event-msg`s, and those `event-msg`s contain more
    useful goodies.
  * Client-side router now traps+logs errors like the server-side router.
  * Improve reference example's compatibility with LightTable.
ptaoussanis added a commit that referenced this issue Sep 2, 2014
…, [#69] (@hugoduncan), more

Completely refactored Sente's client<->server data handling for:
  * Greater consistency, simplicity, robustness.
  * Increased efficiency (smaller cb ids, leaner cb wrapping format).
  * Pluggable serialization.

The pluggable serialization brings optional support for Transit, incl.
JSON and MessagePack over Transit (thanks to @ckarlsen for getting the ball
rolling on this!).

An early, experimental FlexiPacker is provided that allows per-payload
format selection and simple heuristic-based auto format selection for highly
efficient client<->server data comms in a wide range of use cases. This will
likely become Sente's standard (if not default) package format in future.

Other changes in this squashed commit include:
  * General code review + clean-up.
  * Improved logging.
  * A new client-side `chsk-destroy!` API fn.
  * Improved client+server router support for component-style configs
    (thanks to @hugoduncan for this!): server+client side routers now
    both receive `event-msg`s, and those `event-msg`s contain more
    useful goodies.
  * Client-side router now traps+logs errors like the server-side router.
  * Improve reference example's compatibility with LightTable.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant