git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* git-svn metadata commands performance issue
@ 2015-01-13 10:14 Niluge kiwi
  2015-01-14 20:30 ` Eric Wong
  0 siblings, 1 reply; 5+ messages in thread
From: Niluge kiwi @ 2015-01-13 10:14 UTC (permalink / raw)
  To: git

Hi all,

In magit (http://magit.github.io/), a popular git frontend within
emacs, there is a git-svn frontend.  With a recent refactoring, it was
discovered that git-svn metadata commands (like "git-svn info") are
much slower than git ones:
git svn info: 130-150ms (after warmup): get the svn revision and url.
git svn rebase --dry-run: 150-170ms (after warmup): get the remote
branch.

Whereas in pure git:
git rev-parse --abbrev-ref HEAD@{upstream}: 2-3ms (after warmup): get
the remote branch
Other git commands alike take all less than 10ms after warmup.

This is an issue for the magit developers and users: just getting a
git-svn status with some metadata easily take ~500ms, which is really
slow for a UI. The equivalent UI with a pure git repository in magit
takes much less than 100ms to generate although more than 30 git
process are forked for it.

A previous version of magit-svn was much faster because it
re-implemented the logic of git-svn from perl to elisp (the
programming language in emacs), and to get the 3 previously mentioned
values it took less than 10ms.


What could be done about this?
Could git-svn performance be dramatically improved?
Even git svn --version takes ~100ms, is perl the bottleneck?
Or should each git-svn frontend developer re-implement the git-svn
metadata commands themselves for better performance?
Also, wouldn't it be better for those frontend developers if there
were some git-svn porcelain commands like git has? Fast, easy to parse
and stable input & output format?

For reference, here is the discussion about the performance issue on
magit-svn: https://github.com/magit/magit-svn/issues/1

And I'm using git-svn version 2.2.1 (svn 1.6.17) on an ubuntu 12.04
64bits Intel machine with an HDD (no SSD).

Thanks,
Thomas Riccardi

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-01-15 11:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-13 10:14 git-svn metadata commands performance issue Niluge kiwi
2015-01-14 20:30 ` Eric Wong
2015-01-15 10:14   ` [PATCH] git-svn: lazy load some modules Eric Wong
2015-01-15 11:26   ` git-svn metadata commands performance issue Niluge kiwi
2015-01-15 11:53   ` David Kastrup

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 NNTP newsgroup(s).