Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] JGit slow?

Hm, actually i don’t even care whether comparison is fair in this case. This time i have my user-hat on :D if the answer is “to fix it we need local mode” then thats an answer too ;) I just noticed that in the situation i have, i’m way faster with native git, so i had to switch. I’d love to get rid of that workaround again, so i can avoid exec’ing native from java code (i hate it) and instead get back to JGit APIs.


Thanks for the lot of reactions anyway to all of you!




Von: Dave Borowitz [mailto:dborowitz@xxxxxxxxxx]
Gesendet: Mittwoch, 19. Dezember 2012 01:00
An: Duft Markus
Cc: JGit Developers list (jgit-dev@xxxxxxxxxxx)
Betreff: Re: [jgit-dev] JGit slow?


On Mon, Dec 17, 2012 at 11:09 PM, Duft Markus <Markus.Duft@xxxxxxxxxx> wrote:



I’m currently doing some performance test with jgit (downloaded today, plain on command line). It seems that cloning a repository in a RAM disk is orders of magnitudes slower than with native git. The times are as follows (8 sec vs. 4:22 minutes?!?!?): % time git clone ../wamas5.git/

Cloning into 'wamas5'...


6.477u 1.770s 0:08.37 98.4%       0+0k 0+0io 18pf+0w


I'm not sure how long this has been true, but git clone <path> currently defaults to --local, which just copies or hard links the objects, packs, and refs verbatim.
 % time ./ clone /big22/wamas5/ram/mirror-clones/wamas5.git

Initialized empty Git repository in /big22/wamas5/ram/mirror-clones/test/wamas5/.git

remote: Counting objects: 416206

remote: Finding sources: 100% (432466/432466)

remote: Getting sizes:  100% (225459/225459)

remote: Compressing objects:   5% ( 12455/225399)

Receiving objects:      100% (432466/432466)

Resolving deltas:       100% (201343/201343)

Updating references:    100% (4/4)

remote: Counting objects: 432466, done

remote: Total 432466 (delta 197049), reused 419730 (delta 190730)

From /big22/wamas5/ram/mirror-clones/wamas5.git

* [new branch]      RECOVER_5_2 -> origin/RECOVER_5_2

* [new branch]      Release-5_2 -> origin/Release-5_2

* [new branch]      Release-5_2_0 -> origin/Release-5_2_0

* [new branch]      master     -> origin/master

283.093u 18.666s 4:22.60 114.9%              0+0k 0+0io 1pf+0w %


JGit, however, has no --local functionality AFAIK. Perhaps a better apples-to-apples comparison would be to use git clone --no-local.




Every single step in the cloning process seems to take a  lot of time.


Second thing I noticed: cloning with “../wamas5.git” didn’t work. I got a “fatal: ../wamas5.git/: not found.” I had to pass the absolute path to clone.


Any Ideas?



Salomon Automation GmbH - Friesachstrasse 15 - A-8114 Friesach bei Graz
Sitz der Gesellschaft: Friesach bei Graz
UID-NR:ATU28654300 - Firmenbuchnummer: 49324 K
Firmenbuchgericht: Landesgericht für Zivilrechtssachen Graz

jgit-dev mailing list


Back to the top