Open Bug 1904754 Opened 3 days ago Updated 21 hours ago

Configure updatebot for zstd and update zstd to 1.5.6

Categories

(Core :: Networking: HTTP, task, P2)

task

Tracking

()

ASSIGNED
Tracking Status
firefox-esr115 --- wontfix
firefox127 --- wontfix
firefox128 --- wontfix

People

(Reporter: cpeterson, Assigned: cpeterson)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Attachments

(2 files)

Once per Nightly cycle, Updatebot will check whether a new tagged release is available on https://github.com/facebook/zstd/releases and then automatically open a bug with a patch to update to the new release.

Note that not much has changed between zstd being initially vendored into mozilla-central (by bug 1871963) and zstd's v1.5.6 release (2024-03-30), but this update aligns mozilla-central's snapshot with a tagged zstd release instead of a random commit on main. There have been plenty of changes on main since v1.5.6, but no new tagged releases.

Some highlights from v1.5.6 release notes:

https://github.com/facebook/zstd/releases/tag/v1.5.6

This release highlights the deployment of Google Chrome 123, introducing zstd-encoding for Web traffic, introduced as a preferable option for compression of dynamic contents. With limited web server support for zstd-encoding due to its novelty, we are launching an updated Zstandard version to facilitate broader adoption.

New stable parameter ZSTD_c_targetCBlockSize

Using zstd compression for large documents over the Internet, data is segmented into smaller blocks of up to 128 KB, for incremental updates. This is crucial for applications like Chrome that process parts of documents as they arrive. However, on slow or congested networks, there can be some brief unresponsiveness in the middle of a block transmission, delaying update. To mitigate such scenarios, libzstd introduces the new parameter ZSTD_c_targetCBlockSize, enabling the division of blocks into even smaller segments to enhance initial byte delivery speed. Activating this feature incurs a cost, both runtime (equivalent to -2% speed at level 8) and a slight compression efficiency decrease (<0.1%), but offers some interesting latency reduction, notably beneficial in areas with less powerful network infrastructure.

Granular binary size selection

libzstd provides build customization, including options to compile only the compression or decompression modules, minimizing binary size. Enhanced in v1.5.6 (source), it now allows for even finer control by enabling selective inclusion or exclusion of specific components within these modules. This advancement aids applications needing precise binary size management.

Blocks: updatebot
Priority: -- → P2
Whiteboard: [necko-triaged]
  1. Tell mach vendor to not delete preprocess_asm.py when vendoring a new zstd version.

  2. Once per Nightly cycle, Updatebot will check whether a new tagged release is available on https://github.com/facebook/zstd/releases and then automatically open a bug with a patch to update to the new release.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: