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
Copy file name to clipboardExpand all lines: README.md
+10-3Lines changed: 10 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,16 +48,23 @@ Parquet compression types supported with `hyparquet-compressors`:
48
48
49
49
### Snappy
50
50
51
-
Snappy compression uses [hysnappy](https://github.com/hyparam/hysnappy) for fast snappy decompression using minimal wasm.
51
+
Snappy compression uses [hysnappy](https://github.com/hyparam/hysnappy) for fast snappy decompression using a minimal [WASM](https://en.wikipedia.org/wiki/WebAssembly) module.
52
+
53
+
We load the wasm module _synchronously_ from base64 in the js file. This avoids a network request, and greatly simplifies bundling and serving wasm.
52
54
53
55
### Gzip
54
56
55
57
New gzip implementation adapted from [fflate](https://github.com/101arrowz/fflate).
56
-
Includes modifications to handle repeated back-to-back gzip streams that sometimes occur in parquet files (but was not supported by fflate).
58
+
Includes modifications to handle repeated back-to-back gzip streams that sometimes occur in parquet files (but are not supported by fflate).
59
+
60
+
For gzip, the `output` buffer argument is optional:
61
+
- If `output` is defined, the decompressor will write to `output` until it is full.
62
+
- If `output` is undefined, the decompressor will allocate a new buffer, and expand it as needed to fit the uncompressed gzip data. Importantly, the caller should use the _returned_ buffer.
57
63
58
64
### Brotli
59
65
60
-
Includes a minimal port of [brotli.js](https://github.com/foliojs/brotli.js) which pre-compresses the brotli dictionary using gzip to minimize the distribution bundle size.
66
+
Includes a minimal port of [brotli.js](https://github.com/foliojs/brotli.js).
67
+
Our implementation uses gzip to pre-compress the brotli dictionary, in order to minimize the bundle size.
0 commit comments