# Improving Git push times through faster server side hooks

DevFeed: [Improving Git push times through faster server side hooks](<https://devfeed.tech/articles/improving-git-push-times-through-faster-server-side-hooks-68353.md>)

Original publisher: [Read original article](<https://github.blog/engineering/architecture-optimization/improving-git-push-times-through-faster-server-side-hooks/>)

Author: Carlos Martín Nieto

Published: 2022-04-21T16:30:04Z

Content type: article

Language: en

Sources: [GitHub Blog](<https://devfeed.tech/sources/github-engineering.md>), [GitHub Engineering](<https://devfeed.tech/sources/github.md>)

Topics: [Production Engineering](<https://devfeed.tech/topics/production-engineering.md>), [Git](<https://devfeed.tech/topics/git.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [architecture-optimization](<https://devfeed.tech/tags/architecture-optimization.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [git](<https://devfeed.tech/tags/git.md>), [performance](<https://devfeed.tech/tags/performance.md>), [server](<https://devfeed.tech/tags/server.md>)

## AI overview

GitHub replaced its Ruby pre-receive hooks with Go services to reduce startup delays during Git pushes. The hooks had averaged about 880 milliseconds, while the rewritten version reached a median of 10 milliseconds. The team used a feature flag to roll out the change gradually, which improved push performance and moved the code out of the Rails monolith.

## Source excerpt

The history of pre-receive hooks, how we discovered that the performance was problematic, and how we went about safely replacing them.