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

Avoid unnecessary map allocation when writing progress #4116

Merged
merged 1 commit into from
Aug 8, 2023

Commits on Aug 7, 2023

  1. Avoid unnecessary map allocation when writing progress

    `MultiWriter` would create an unnecessary map allocation when the
    `Write` method was used. The `Write` method would create a progress
    object with the meta field initialized to the meta field of the writer
    itself. It then invoked its own `WriteRawProgress` method which would
    see two maps with the metadata and erroneously believe that they were
    different and needed to be merged into a single metadata map.
    
    Since this map is initialized with the metadata of the writer before
    `WriteRawProgress` is invoked, this merge was unnecessary and could add
    a lot of unnecessary memory allocations during a build.
    
    This changes the `MultiWriter.Write` method to invoke the private
    `writeRawProgress` which performs the actual write and avoids the
    metadata merge.
    
    Signed-off-by: Jonathan A. Sternberg <jonathan.sternberg@docker.com>
    jsternberg committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    4c83fcf View commit details
    Browse the repository at this point in the history