[JGIT PATCH 0/5] Fix major performance problems in UploadPack

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If the client is really far ahead of the server, JGit's UploadPack
can spend a massive amount of CPU time on the server just doing the
same work over and over again.  This series addresses the issue by
taking advantage of cached data more frequently.

Shawn O. Pearce (5):
  Make RevTag getObject(), getName() final to prevent overrides
  Allow exceptions to be created with integer type codes
  Unify RevWalk parsing code to be more consistent across types
  Change RevObject dispose() semantics to avoid reparses
  UploadPack: Only recompute okToGiveUp() if bases changed

 .../org/spearce/jgit/revwalk/RevWalkTestCase.java  |    2 +-
 .../jgit/errors/IncorrectObjectTypeException.java  |   13 +++
 .../jgit/errors/MissingObjectException.java        |   12 +++
 .../src/org/spearce/jgit/lib/PackWriter.java       |    3 +-
 .../spearce/jgit/revwalk/BoundaryGenerator.java    |    2 +-
 .../spearce/jgit/revwalk/MergeBaseGenerator.java   |    2 +-
 .../src/org/spearce/jgit/revwalk/ObjectWalk.java   |    4 +-
 .../org/spearce/jgit/revwalk/PendingGenerator.java |    6 +-
 .../src/org/spearce/jgit/revwalk/RevBlob.java      |    5 -
 .../src/org/spearce/jgit/revwalk/RevCommit.java    |   29 ++++----
 .../src/org/spearce/jgit/revwalk/RevObject.java    |   34 ++++++--
 .../src/org/spearce/jgit/revwalk/RevTag.java       |   32 ++++----
 .../src/org/spearce/jgit/revwalk/RevTree.java      |    5 -
 .../src/org/spearce/jgit/revwalk/RevWalk.java      |   82 ++++++++++++++-----
 .../spearce/jgit/revwalk/RewriteTreeFilter.java    |    2 +-
 .../src/org/spearce/jgit/transport/UploadPack.java |   31 +++++---
 .../jgit/transport/WalkFetchConnection.java        |   15 +---
 17 files changed, 179 insertions(+), 100 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]