New issue
Advanced search Search tips

Issue 789414 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug

Blocked on:
issue 811681



Sign in to add a comment

`git cl upload` took more than 1 minutes on windows

Project Member Reported by tikuta@chromium.org, Nov 29 2017

Issue description

Taking longer than a minute is very slow just to make a patch like below.
https://chromium-review.googlesource.com/c/chromium/src/+/795519/2

PS C:\src\chromium\src> Measure-Command{git cl upload --title fuga | Out-Host}
14:44:48.082615 git.c:576               trace: exec: 'git-cl' 'upload' '--title' 'fuga'
14:44:48.083642 run-command.c:626       trace: run_command: 'git-cl' 'upload' '--title' 'fuga'
14:44:49.197153 git.c:344               trace: built-in: git 'config' 'branch.hoge2.git-cl-similarity'
14:44:49.264204 git.c:344               trace: built-in: git 'config' '--bool' 'branch.hoge2.git-find-copies'
14:44:51.175606 git.c:344               trace: built-in: git 'config' 'rietveld.autoupdate'
14:44:51.200602 git.c:344               trace: built-in: git 'rev-parse' '--show-cdup'
14:44:51.228644 git.c:344               trace: built-in: git 'config' 'rietveld.cc' 'chromium-reviews@chromium.org'
14:44:51.252661 git.c:344               trace: built-in: git 'config' '--unset-all' 'rietveld.private'
14:44:51.273679 git.c:344               trace: built-in: git 'config' 'rietveld.tree-status-url' 'http://chromium-status.appspot.com/status'
14:44:51.303697 git.c:344               trace: built-in: git 'config' 'rietveld.viewvc-url' 'https://chromium.googlesource.com/chromium/src/+/'
14:44:51.336725 git.c:344               trace: built-in: git 'config' '--unset-all' 'rietveld.bug-prefix'
14:44:51.364740 git.c:344               trace: built-in: git 'config' '--unset-all' 'rietveld.cpplint-regex'
14:44:51.391766 git.c:344               trace: built-in: git 'config' '--unset-all' 'rietveld.cpplint-ignore-regex'
14:44:51.417778 git.c:344               trace: built-in: git 'config' 'rietveld.project' 'chromium'
14:44:51.442799 git.c:344               trace: built-in: git 'config' 'rietveld.run-post-upload-hook' 'True'
14:44:51.465813 git.c:344               trace: built-in: git 'config' 'gerrit.host' 'True'
14:44:51.487820 git.c:344               trace: built-in: git 'config' 'gerrit.host'
14:44:51.665952 git.c:344               trace: built-in: git 'config' 'branch.hoge2.rietveldissue'
14:44:51.699975 git.c:344               trace: built-in: git 'config' 'branch.hoge2.gerritissue'
14:44:51.748011 git.c:344               trace: built-in: git 'config' 'branch.hoge2.merge'
14:44:51.788032 git.c:344               trace: built-in: git 'config' 'branch.hoge2.remote'
14:44:52.155297 git.c:344               trace: built-in: git 'config' '--bool' 'gerrit.skip-ensure-authenticated'
14:44:52.240355 git.c:344               trace: built-in: git 'config' 'branch.hoge2.gerritserver'
14:44:52.282379 git.c:344               trace: built-in: git 'config' 'branch.hoge2.merge'
14:44:52.314401 git.c:344               trace: built-in: git 'config' 'branch.hoge2.remote'
14:44:52.334426 git.c:344               trace: built-in: git 'config' 'remote.origin.url'
14:44:53.020125 git.c:344               trace: built-in: git 'rev-parse' '--verify' 'aa599d184e9af341b2ffd4e5a635836bc5418b16'
14:44:53.041113 git.c:344               trace: built-in: git 'merge-base' 'aa599d184e9af341b2ffd4e5a635836bc5418b16' 'HEAD'
14:44:53.076159 git.c:344               trace: built-in: git 'rev-list' '^aa599d184e9af341b2ffd4e5a635836bc5418b16' 'HEAD'
14:44:53.138203 git.c:344               trace: built-in: git 'config' 'gitcl.remotebranch'
14:44:53.171233 git.c:344               trace: built-in: git 'rev-list' '^aa599d184e9af341b2ffd4e5a635836bc5418b16' 'refs/remotes/origin/master'
14:44:53.198225 git.c:344               trace: built-in: git 'rev-parse' '--show-cdup'
14:44:53.244281 git.c:344               trace: built-in: git 'rev-parse' 'HEAD'
14:44:53.371371 git.c:344               trace: built-in: git 'config' 'branch.hoge2.gerritpatchset'
14:44:53.402391 git.c:344               trace: built-in: git 'config' 'user.email'
14:44:57.147101 git.c:344               trace: built-in: git 'diff' '--no-ext-diff' '--stat' '-l100000' '-C50' 'aa599d184e9af341b2ffd4e5a635836bc5418b16' 'HEAD'
 fuga | 0
 hoge | 0
 2 files changed, 0 insertions(+), 0 deletions(-)
14:44:57.192158 git.c:344               trace: built-in: git 'config' '--bool' 'gerrit.override-squash-uploads'
14:44:57.216177 git.c:344               trace: built-in: git 'config' '--bool' 'gerrit.squash-uploads'
14:44:57.265210 git.c:344               trace: built-in: git 'config' 'branch.hoge2.merge'
14:44:57.310241 git.c:344               trace: built-in: git 'config' 'branch.hoge2.remote'
14:44:57.574431 git.c:344               trace: built-in: git 'rev-parse' 'HEAD:'
14:44:57.613460 git.c:344               trace: built-in: git 'commit-tree' '014770b25facad26305dce86d256259e13e5bd69' '-p' 'aa599d184e9af341b2ffd4e5a635836bc5418b16' '-F' 'c:\users\tikuta\appdata\local\temp\tmpzq03tc'
14:44:57.721532 git.c:344               trace: built-in: git 'config' 'remote.origin.url'
Running presubmit upload checks ...

** Presubmit Messages **
Missing OWNER reviewers for these files:
    fuga
    hoge

Suggested OWNERS: (Use "git-cl owners" to interactively select owners.)
    brettw@chromium.org

Presubmit checks took 3.6s to calculate.

Presubmit checks passed.
14:44:57.757552 git.c:344               trace: built-in: git 'push' 'https://chromium.googlesource.com/chromium/src.git' '2563ef125705403653c127c4f2d9c2ef42c72fb9:refs/for/refs/heads/master%notify=NONE,m=fuga'
14:44:57.759533 run-command.c:626       trace: run_command: 'remote-https' 'https://chromium.googlesource.com/chromium/src.git' 'https://chromium.googlesource.com/chromium/src.git'
14:44:57.778571 git.c:576               trace: exec: 'git-remote-https' 'https://chromium.googlesource.com/chromium/src.git' 'https://chromium.googlesource.com/chromium/src.git'
14:44:57.779571 run-command.c:626       trace: run_command: 'git-remote-https' 'https://chromium.googlesource.com/chromium/src.git' 'https://chromium.googlesource.com/chromium/src.git'
14:45:00.834914 run-command.c:626       trace: run_command: 'send-pack' '--stateless-rpc' '--helper-status' '--thin' '--no-progress' 'https://chromium.googlesource.com/chromium/src.git/' '--stdin'
14:45:00.852927 git.c:344               trace: built-in: git 'send-pack' '--stateless-rpc' '--helper-status' '--thin' '--no-progress' 'https://chromium.googlesource.com/chromium/src.git/' '--stdin'
14:45:00.991034 run-command.c:626       trace: run_command: 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset' '-q'
14:45:01.008010 git.c:344               trace: built-in: git 'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin' '--delta-base-offset' '-q'
remote:
remote: Processing changes: (\)
remote: Processing changes: (|)
remote: Processing changes: (/)
remote: Processing changes: (-)
remote: Processing changes: updated: 1 (\)
remote: Processing changes: updated: 1 (|)
remote: Processing changes: updated: 1 (/)
remote: Processing changes: updated: 1 (-)
remote: Processing changes: updated: 1 (\)
remote: Processing changes: updated: 1 (|)
remote: Processing changes: updated: 1 (/)
remote: Processing changes: updated: 1 (-)
remote: Processing changes: updated: 1 (\)
remote: Processing changes: updated: 1 (\)
remote: Processing changes: updated: 1, done
remote:
remote: Updated Changes:
remote:   https://chromium-review.googlesource.com/#/c/chromium/src/+/795519 hoge [WIP]
remote:
To https://chromium.googlesource.com/chromium/src.git
 * [new branch]                2563ef125705403653c127c4f2d9c2ef42c72fb9 -> refs/for/refs/heads/master%notify=NONE,m=fuga
14:45:55.682070 git.c:344               trace: built-in: git 'config' 'branch.hoge2.gerritissue' '795519'
14:45:55.710069 git.c:344               trace: built-in: git 'config' 'branch.hoge2.gerritserver' 'https://chromium-review.googlesource.com'
14:45:55.743117 git.c:344               trace: built-in: git 'config' 'branch.hoge2.gerritsquashhash' '2563ef125705403653c127c4f2d9c2ef42c72fb9'
14:45:55.776140 git.c:344               trace: built-in: git 'config' 'rietveld.cc'
14:45:59.802714 git.c:344               trace: built-in: git 'rev-parse' 'HEAD'
14:45:59.961659 git.c:344               trace: built-in: git 'config' 'branch.hoge2.last-upload-hash' '081ee587a987b7243ff87127401974ebdda1ef2e'
14:45:59.992672 git.c:344               trace: built-in: git 'config' 'rietveld.run-post-upload-hook'



Days              : 0
Hours             : 0
Minutes           : 1
Seconds           : 12
Milliseconds      : 85
Ticks             : 720853726
TotalDays         : 0.00083432144212963
TotalHours        : 0.0200237146111111
TotalMinutes      : 1.20142287666667
TotalSeconds      : 72.0853726
TotalMilliseconds : 72085.3726



I will try to fix this slowness in git.
 
pack-objects.png
95.7 KB View Download

Comment 1 by tikuta@chromium.org, Nov 29 2017

There is already an effort to make it faster.
https://github.com/git/git/commit/0e87b85683df145007862d23b5f0773368d66464

Comment 2 by tikuta@chromium.org, Nov 29 2017

#1 is wrong.
This is the patch to make it fast.
https://github.com/git/git/commit/cb52b49db526488bd39a6fbfb8f9bdfa70d24802

git cl upload took 43 seconds when I use git include the fix improved from 85 seconds.

Comment 3 by tikuta@chromium.org, Feb 13 2018

Blockedon: 811681
Status: Assigned (was: Untriaged)
This bug has an owner, thus, it's been triaged. Changing status to "assigned".

Sign in to add a comment