Skip to content

Add Compression Streams Brotli to the documentation #118

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

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions docs/Deep Dive/Modules/CompressionStreams.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
# Compression Streams

Compression Streams Module

## Overview

Compression Streams offer a built in way to compress and decompress data based on several common file formats.

## Supported Formats

| Format | Specification |
| ------ | ------------- |
| gzip | [RFC1952](https://www.rfc-editor.org/rfc/rfc1952) |
| deflate (also known as ZLIB) | [RFC1950](https://www.rfc-editor.org/rfc/rfc1950) |
| deflate-raw | [RFC1951](https://www.rfc-editor.org/rfc/rfc1951) |
| Format | Specification |
| ----------------------------- | ------------------------------------------------- |
| brotli | [RFC7932](https://www.rfc-editor.org/rfc/rfc7932) |
| gzip | [RFC1952](https://www.rfc-editor.org/rfc/rfc1952) |
| deflate (also known as ZLIB) | [RFC1950](https://www.rfc-editor.org/rfc/rfc1950) |
| deflate-raw | [RFC1951](https://www.rfc-editor.org/rfc/rfc1951) |

## Specification

Expand All @@ -33,9 +32,9 @@ We currently buffer all the compression/decompression output per chunk, and retu

## Libraries

On Windows and Linux we exclusively use zlib to perform the heavy lifting for all compression and decompression algorithms.
On Windows and Linux we exclusively use zlib to perform the heavy lifting for all compression and decompression algorithms. Brotli is currently not available on these platforms.

On Apple platforms we leverage the Compression Framework for the deflate-raw decompression to achieve extra performance. The rest of the operations use zlib. Compression Framework only supports deflate-raw for our use case, and there are currently no performance benefits for using this framework to handle compression over zlib.
On Apple platforms we leverage the Compression Framework for the brotli format. The other formats use the zlib library directly.


## Notes
Expand Down