Mercurial > jhg
comparison src/org/tmatesoft/hg/internal/Pool2.java @ 304:85b8efde5586
Use memory-friendly set implementation to canonicalize filenames and nodeids
| author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
|---|---|
| date | Wed, 21 Sep 2011 18:26:16 +0200 |
| parents | 6bb5e7ed051a |
| children |
comparison
equal
deleted
inserted
replaced
| 303:2ffcbf360fd5 | 304:85b8efde5586 |
|---|---|
| 14 * the terms of a license other than GNU General Public License | 14 * the terms of a license other than GNU General Public License |
| 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 org.tmatesoft.hg.util.SparseSet; | 19 import org.tmatesoft.hg.util.DirectHashSet; |
| 20 | |
| 20 | 21 |
| 21 /** | 22 /** |
| 22 * | 23 * |
| 23 * @author Artem Tikhomirov | 24 * @author Artem Tikhomirov |
| 24 * @author TMate Software Ltd. | 25 * @author TMate Software Ltd. |
| 25 */ | 26 */ |
| 26 public class Pool2<T> { | 27 public class Pool2<T> { |
| 27 private final SparseSet<T> unify = new SparseSet<T>(); | 28 private final DirectHashSet<T> unify = new DirectHashSet<T>(); |
| 28 | 29 |
| 29 public Pool2() { | 30 public Pool2() { |
| 30 } | 31 } |
| 31 | 32 |
| 32 public Pool2(int sizeHint) { | 33 public Pool2(int sizeHint) { |
| 55 } | 56 } |
| 56 | 57 |
| 57 public int size() { | 58 public int size() { |
| 58 return unify.size(); | 59 return unify.size(); |
| 59 } | 60 } |
| 60 | |
| 61 public void x() { | |
| 62 unify.dump(); | |
| 63 } | |
| 64 | 61 |
| 65 @Override | 62 @Override |
| 66 public String toString() { | 63 public String toString() { |
| 67 StringBuilder sb = new StringBuilder(); | 64 StringBuilder sb = new StringBuilder(); |
| 68 sb.append(Pool2.class.getSimpleName()); | 65 sb.append(Pool2.class.getSimpleName()); |
