package ddth.dasp.test; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import ddth.dasp.common.id.IdGenerator; import ddth.dasp.test.utils.Benchmark; import ddth.dasp.test.utils.BenchmarkResult; import ddth.dasp.test.utils.Operation; public class TestIdGenerator { private static void testIdGen() { final Map<Object, Boolean> map = new ConcurrentHashMap<Object, Boolean>(); final IdGenerator ID_GENERATOR = IdGenerator.getInstance(IdGenerator.getMacAddr()); BenchmarkResult result = new Benchmark(new Operation() { @Override public void run(int runId) { // long commentId = ID_GENERATOR.generateId64(); long commentId = ID_GENERATOR.generateId48(); Object id = commentId; // final StringBuffer commentIdHex = new // StringBuffer(Long.toHexString(commentId)); // while (commentIdHex.length() < 16) { // commentIdHex.insert(0, '0'); // } // String id = commentIdHex.toString(); if (map.containsKey(id)) { System.out.println("Was generated: " + commentId); } else { map.put(id, Boolean.TRUE); } } }, 1000000, 16).run(); System.out.println(result.summarize()); } /** * @param args */ public static void main(String[] args) { for (int i = 0; i < 10; i++) { testIdGen(); } } }