From: "Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>
To: git@vger.kernel.org
Cc: entwicklung@pengutronix.de
Subject: git slow unless piped to cat
Date: Tue, 27 Aug 2019 10:15:59 +0200 [thread overview]
Message-ID: <20190827081559.mt5wjpdvqzn62dib@pengutronix.de> (raw)
Hello,
I have a problem here with git being slow in some situations.
Using git 2.23.0 (from Debian) the effect is:
ukl@dude.ptx:/ptx/src/git/linux.git$ sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"; time git show v5.2
tag v5.2
...
real 0m12.727s
user 0m0.300s
sys 0m0.371s
But to get the actual data isn't the problem:
ukl@dude.ptx:/ptx/src/git/linux.git$ sudo sh -c "echo 3 > /proc/sys/vm/drop_caches"; time git show v5.2 | cat
tag v5.2
...
real 0m0.764s
user 0m0.014s
sys 0m0.020s
My expectation is that both commands should take approximately the same
amount of time. This is 100% reproducible here.
The backing filesystem could be quicker (don't know, this is xfs in an
logical volume) but this applies to both calls, so this doesn't seem to
be the biggest culprit at least.
This is not a regression, I see similar problems since >2 years. (Didn't
report before because I didn't know such an obvious reproducer.)
Using perf I get in the first case:
7.99% git libz.so.1.2.11 [.] inflate
3.02% git libc-2.28.so [.] __memcmp_sse4_1
1.67% git [kernel.kallsyms] [k] __list_del_entry_valid
1.32% git [kernel.kallsyms] [k] unmap_page_range
1.25% git [kernel.kallsyms] [k] filemap_map_pages
...
while with cat I get:
3.35% git [kernel.kallsyms] [k] __update_load_avg_cfs_rq
3.22% git [kernel.kallsyms] [k] update_blocked_averages
2.37% git [kernel.kallsyms] [k] __list_del_entry_valid
1.92% git [kernel.kallsyms] [k] hrtimer_interrupt
1.91% git [kernel.kallsyms] [k] __pagevec_lru_add_fn
It doesn't seem to be related to stdio buffering or coloring as
stdbuf -o0 git show --no-color v5.2
is slow, too.
Any idea what could be the problem? Is there some info that I might
report additionally to make this better understandable?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
next reply other threads:[~2019-08-27 8:16 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-27 8:15 Uwe Kleine-König [this message]
2019-08-27 8:41 ` git slow unless piped to cat SZEDER Gábor
2019-08-27 8:56 ` Uwe Kleine-König
2019-08-27 9:12 ` Philipp Zabel
2019-08-27 9:44 ` SZEDER Gábor
2019-08-27 10:04 ` Uwe Kleine-König
2019-08-27 10:33 ` SZEDER Gábor
2019-08-27 10:56 ` Uwe Kleine-König
2019-08-27 11:28 ` Michal Suchánek
2019-08-27 18:59 ` Jeff King
2019-08-27 21:32 ` Uwe Kleine-König
2019-08-27 21:38 ` Bryan Turner
2019-08-28 10:24 ` Uwe Kleine-König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190827081559.mt5wjpdvqzn62dib@pengutronix.de \
--to=u.kleine-koenig@pengutronix.de \
--cc=entwicklung@pengutronix.de \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).