Today, I was exploring source code of the Gitlab project and experienced poor performance of the git status
command. Gitlab is an open source alternative to Github.
Below is the output of git status
command
time git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
git status 0.20s user 1.13s system 88% cpu 1.502 total
The total
here is the number of seconds it took for the command to complete.
The same was the case for the git add
command.
time git add .
git add . 0.21s user 1.11s system 115% cpu 1.146 total
So both commands took more than a second to finish.
Continue reading “Improve Git Monorepo Performance”These commands are slow because they need to search the entire worktree looking for changes. When the worktree is very large, Git needs to do a lot of work.