features:
  secondary:
    - name: "Improved performance for the GitLab Container Registry garbage collection algorithm for S3"
      available_in: [core, starter, premium, ultimate]
      documentation_link: 'https://docs.gitlab.com/ee/administration/packages/container_registry.html#container-registry-garbage-collection'
      reporter: trizzi
      stage: package
      categories:
        - "Container Registry"
      issue_url: 'https://gitlab.com/gitlab-org/gitlab/issues/31071'
      description: |
        For organizations building many images across many projects, it is important to remove old, unused images and tags. The container registry garbage collection takes a long time to run and consumes resources inefficiently during the process. This makes it difficult for instances with large registries to run garbage collection and results in an increased cost of storage.

        In GitLab 12.8, we are excited to announce a significant improvement in the performance of garbage collection for instances using S3 for storage. These improvements optimize both the `mark` and `sweep` phase of the algorithm. While testing on 15 thousand images, the `mark` phase went from 25 minutes to 90 seconds! The `sweep` phase went from 20 minutes to 3 seconds! Read more on performance tests and benchmark optimization in the [merge request](https://gitlab.com/gitlab-org/container-registry/-/merge_requests/31).
