Mercurial > hg4j
comparison src/org/tmatesoft/hg/internal/IntMap.java @ 656:a937e63b6e02
Performance: rebuild information about branches takes too long (my improvement: 3 times, 11-15 s to less than 4 sec)
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Thu, 04 Jul 2013 18:40:03 +0200 |
| parents | f41dd9a3b8af |
| children | d2552e6a5af6 |
comparison
equal
deleted
inserted
replaced
| 655:bcbcc318f250 | 656:a937e63b6e02 |
|---|---|
| 15 * contact TMate Software at support@hg4j.com | 15 * contact TMate Software at support@hg4j.com |
| 16 */ | 16 */ |
| 17 package org.tmatesoft.hg.internal; | 17 package org.tmatesoft.hg.internal; |
| 18 | 18 |
| 19 import java.util.Arrays; | 19 import java.util.Arrays; |
| 20 import java.util.Collection; | |
| 20 import java.util.Iterator; | 21 import java.util.Iterator; |
| 21 import java.util.Map; | 22 import java.util.Map; |
| 22 import java.util.Map.Entry; | 23 import java.util.Map.Entry; |
| 23 import java.util.NoSuchElementException; | 24 import java.util.NoSuchElementException; |
| 24 | 25 |
| 214 Map.Entry<Integer, V> next = it.next(); | 215 Map.Entry<Integer, V> next = it.next(); |
| 215 map.put(next.getKey(), next.getValue()); | 216 map.put(next.getKey(), next.getValue()); |
| 216 } | 217 } |
| 217 return map; | 218 return map; |
| 218 } | 219 } |
| 220 | |
| 221 public Collection<V> values() { | |
| 222 @SuppressWarnings("unchecked") | |
| 223 V[] rv = (V[]) new Object[size]; | |
| 224 System.arraycopy(values, 0, rv, 0, size); | |
| 225 return Arrays.<V>asList(rv); | |
| 226 } | |
| 219 | 227 |
| 220 // copy of Arrays.binarySearch, with upper search limit as argument | 228 // copy of Arrays.binarySearch, with upper search limit as argument |
| 221 private static int binarySearch(int[] a, int high, int key) { | 229 private static int binarySearch(int[] a, int high, int key) { |
| 222 int low = 0; | 230 int low = 0; |
| 223 high--; | 231 high--; |
