From 4797ce1368b9dc9c33862bde848a3e9c7ed3b8bc Mon Sep 17 00:00:00 2001 From: Arndt Date: Sat, 7 Feb 2015 08:14:48 +0100 Subject: [PATCH] minor performance patch --- .../src/main/java/btools/util/SortedHeap.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/brouter-util/src/main/java/btools/util/SortedHeap.java b/brouter-util/src/main/java/btools/util/SortedHeap.java index 108fa3d..0337fb0 100644 --- a/brouter-util/src/main/java/btools/util/SortedHeap.java +++ b/brouter-util/src/main/java/btools/util/SortedHeap.java @@ -167,16 +167,21 @@ public class SortedHeap // now merge the contents of arrays 0...idx-1 into idx while ( cnt > 0 ) { - int maxId = 0; - int maxIdx = -1; + int i=0; + while( pa[i] == lp[i] ) + { + i++; + } + int maxId = al[i][pa[i]-1]; + int maxIdx = i; - for ( int i=0; i<=idx; i++ ) + for ( i++; i<=idx; i++ ) { int p = pa[i]; if ( p > lp[i] ) { int currentId = al[i][p-1]; - if ( maxIdx < 0 || currentId > maxId ) + if ( currentId > maxId ) { maxIdx = i; maxId = currentId;