Cache an Inflater inside a WindowCursor and reuse it as much as possible
commitc70dd55616c00932c6086062655178014d58961f
authorShawn O. Pearce <spearce@spearce.org>
Tue, 23 Dec 2008 00:27:13 +0000 (22 16:27 -0800)
committerRobin Rosenberg <robin.rosenberg@dewire.com>
Sun, 4 Jan 2009 00:01:48 +0000 (4 01:01 +0100)
tree3e87298d260951c4c4efc6cbc1c769e9b8709b1c
parent8744b307d2613a25b276eb039c9e0425f3792067
Cache an Inflater inside a WindowCursor and reuse it as much as possible

By caching the Inflater within the WindowCursor we can improve
performance associated with reading objects from the pack files.
Each read can use the cached Inflater, especially when chasing
down a delta chain.  This avoids locking on the global cache.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
org.spearce.jgit/src/org/spearce/jgit/lib/DeltaRefPackedObjectLoader.java
org.spearce.jgit/src/org/spearce/jgit/lib/PackFile.java
org.spearce.jgit/src/org/spearce/jgit/lib/Repository.java
org.spearce.jgit/src/org/spearce/jgit/lib/WindowCursor.java
org.spearce.jgit/src/org/spearce/jgit/lib/WindowedFile.java
org.spearce.jgit/src/org/spearce/jgit/revwalk/RevWalk.java
org.spearce.jgit/src/org/spearce/jgit/transport/IndexPack.java