<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes-phjqnryqb" -->

---
title: How we decreased GitLab repo backup times from 48 hours...
description: GitLab engineers identified and fixed a critical performance bottleneck in Git's bundle creation process that was causing repository backups to take up to 48...
canonical: https://daily.dev/posts/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes-phjqnryqb
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How we decreased GitLab repo backup times from 48 hours to 41 minutes | daily.dev
og:description: GitLab engineers identified and fixed a critical performance bottleneck in Git's bundle creation process that was causing repository backups to take up to 48...
og:url: https://daily.dev/posts/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes-phjqnryqb
og:image: https://api.daily.dev/og/posts/PhjQNRyQB.png
og:image:alt: How we decreased GitLab repo backup times from 48 hours to 41 minutes
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How we decreased GitLab repo backup times from 48 hours to 41 minutes

**[GitLab](https://daily.dev/sources/gitlab)** · 7 min read · 3 upvotes · 0 comments

## Summary

GitLab engineers identified and fixed a critical performance bottleneck in Git's bundle creation process that was causing repository backups to take up to 48 hours. The issue stemmed from a 15-year-old Git function with O(N²) complexity that became problematic for repositories with large numbers of references. By replacing nested loops with a map data structure, they achieved a 6x performance improvement, reducing their largest repository backup time from 48 hours to just 41 minutes. The fix was contributed upstream to Git and is available to all GitLab customers starting with version 18.0, enabling more frequent backups and better disaster recovery strategies.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://about.gitlab.com/blog/2025/06/05/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes>

---

Tags: [#performance](https://daily.dev/tags/performance), [#git](https://daily.dev/tags/git), [#gitlab](https://daily.dev/tags/gitlab)

[View this post on daily.dev](https://daily.dev/posts/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes-phjqnryqb)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How we decreased GitLab repo backup times from 48 hours to 41 minutes","url":"https://daily.dev/posts/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes-phjqnryqb","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes-phjqnryqb"},"datePublished":"2025-06-05T10:39:12.541Z","dateModified":"2025-06-05T10:39:36.013Z","description":"GitLab engineers identified and fixed a critical performance bottleneck in Git's bundle creation process that was causing repository backups to take up to 48...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/69e94d7f86dbe3a28a3473ba7e43fe61?_a=AQAEulh","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/69e94d7f86dbe3a28a3473ba7e43fe61?_a=AQAEulh","isAccessibleForFree":true,"articleSection":"GitLab","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"GitLab","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/3720ce340ca4435daef529abbf361b69","url":"https://daily.dev/sources/gitlab"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-we-decreased-gitlab-repo-backup-times-from-48-hours-to-41-minutes-phjqnryqb","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":3},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"performance,git,gitlab","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"GitLab","item":"https://daily.dev/sources/gitlab"},{"@type":"ListItem","position":3,"name":"How we decreased GitLab repo backup times from 48 hours to 41 minutes"}]}
```

