[JGIT PATCH 1/4] Simplify and micro-optimize WorkingTreeIterator.ENTRY_CMP
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Aug 21, 2008, 20:57 UTC
- Message-ID
- <1219352258-15431-1-git-send-email-spearce@spearce.org>
We already did this simplification work to AbstractTreeIterator's pathCompare method, and this is based upon that same structure.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org> --- .../spearce/jgit/treewalk/WorkingTreeIterator.java | 44 ++----------------- 1 files changed, 5 insertions(+), 39 deletions(-)
diff --git a/org.spearce.jgit/src/org/spearce/jgit/treewalk/WorkingTreeIterator.java b/org.spearce.jgit/src/org/spearce/jgit/treewalk/WorkingTreeIterator.java index c6664f5..6fce150 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/treewalk/WorkingTreeIterator.java +++ b/org.spearce.jgit/src/org/spearce/jgit/treewalk/WorkingTreeIterator.java @@ -297,45 +297,11 @@ public int compare(final Entry o1, final Entry o2) { return cmp; } - if (cPos < aLen) { - final int aj = a[cPos] & 0xff; - final int lastb = lastPathChar(o2); - if (aj < lastb) - return -1; - else if (aj > lastb) - return 1; - else if (cPos == aLen - 1) - return 0; - else - return -1; - } - - if (cPos < bLen) { - final int bk = b[cPos] & 0xff; - final int lasta = lastPathChar(o1); - if (lasta < bk) - return -1; - else if (lasta > bk) - return 1; - else if (cPos == bLen - 1) - return 0; - else - return 1; - } - - final int lasta = lastPathChar(o1); - final int lastb = lastPathChar(o2); - if (lasta < lastb) - return -1; - else if (lasta > lastb) - return 1; - - if (aLen == bLen) - return 0; - else if (aLen < bLen) - return -1; - else - return 1; + if (cPos < aLen) + return (a[cPos] & 0xff) - lastPathChar(o2); + if (cPos < bLen) + return lastPathChar(o1) - (b[cPos] & 0xff); + return lastPathChar(o1) - lastPathChar(o2); } };
-- 1.6.0.112.g9c75