You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently use zstd to compress the profile stream. However, it compiles and runs very slow (see #130).
A great alternative would be lz4_flex, which both compiles and runs very fast. It is also pure Rust, so it works on Wasm.
I think it would be worth to refactor puffin to support multiple compression schemes/libraries (zstd and lz4_flex, initially). The compression scheme would need to be encoded in the data stream. The puffin_viewer binary would support all of them for maximal compatibility, but we would let users of puffin to opt-in to different compression libraries so the users can chose between fast compression and compilation, or high compression ratio.
Alternatively, if that is too much work, we can just switch out zstd for lz4 and have a big breaking change.
The text was updated successfully, but these errors were encountered:
agreed, zstd is a pretty big C dependency to bring in to clients as well. a smaller pure rust one would be nicer, and we don't need the highest compression ratios
We currently use
zstd
to compress the profile stream. However, it compiles and runs very slow (see #130).A great alternative would be
lz4_flex
, which both compiles and runs very fast. It is also pure Rust, so it works on Wasm.I think it would be worth to refactor puffin to support multiple compression schemes/libraries (
zstd
andlz4_flex
, initially). The compression scheme would need to be encoded in the data stream. Thepuffin_viewer
binary would support all of them for maximal compatibility, but we would let users ofpuffin
to opt-in to different compression libraries so the users can chose between fast compression and compilation, or high compression ratio.Alternatively, if that is too much work, we can just switch out
zstd
forlz4
and have a big breaking change.The text was updated successfully, but these errors were encountered: