package com.ctriposs.tsdb; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Random; public class DBEnginePutTest { private static final String TEST_DIR = "d:\\tsdb_test\\put_test"; private static final int INIT_COUNT = 10*1000*1000; private static DBEngine engine; public static void main(String[] args) throws IOException { DBConfig config = new DBConfig(TEST_DIR); engine = new DBEngine(config); String[] str = new String[]{"a","b","c","d","e","f","g"}; Random random = new Random(); long start = System.nanoTime(); String data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; Map<Long,String> map = new HashMap<Long,String>(); for (int i = 0; i < 2*INIT_COUNT; i++) { String n = String.valueOf(random.nextInt(30000)); long l = System.currentTimeMillis(); String d = data+i; engine.put(n, n, l, d.getBytes()); map.put(l,n + "-" + d); } int total=0; int miss = 0; int error = 0; for(Entry<Long,String> entry:map.entrySet()){ String d[] = entry.getValue().split("-"); total++; byte[] s = engine.get(d[0],d[0],entry.getKey()); if(s != null){ String dd = new String(s); if(d[1].equals(dd)){ System.out.println("OK"); }else{ System.out.println(++error+"error "); System.out.println("ʵ��ֵ��"+d[1]); System.out.println("�洢ֵ��"+dd); } }else{ System.out.println(++miss+"not found "+entry.getValue()+"-"+entry.getKey()); } } System.out.println("total:"+total+"miss:"+miss+"error:"+error); long duration = System.nanoTime() - start; System.out.printf("Put/get %,d K operations per second single thread%n", (int) (INIT_COUNT * 2 * 1e6 / duration)); } }