Program: 91496
Project: 91496
Buggy source:
@Test public void testPutPerf() throws ExecutionException, InterruptedException {
  ExecutorService es=Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
  System.out.println("String_Node_Str");
  HugeConfig config=HugeConfig.DEFAULT.clone().setSegments(64).setSmallEntrySize(72).setCapacity(COUNT);
  final HugeHashMap<CharSequence,SampleValues> map=new HugeHashMap<CharSequence,SampleValues>(config,CharSequence.class,SampleValues.class);
  final int COUNT=500000;
  final String[] users=new String[COUNT];
  for (int i=0; i < COUNT; i++)   users[i]="String_Node_Str" + i;
  long start=System.nanoTime();
  List<Future<?>> futures=new ArrayList<Future<?>>();
  for (int t=0; t < N_THREADS; t++) {
    final int finalT=t;
    futures.add(es.submit(new Runnable(){
      @Override public void run(){
        final SampleValues value=new SampleValues();
        StringBuilder user=new StringBuilder();
        for (int i=finalT; i < COUNT; i+=N_THREADS) {
          value.ee=i;
          value.gg=i;
          value.ii=i;
          map.put(users(user,i),value);
        }
        for (int i=finalT; i < COUNT; i+=N_THREADS) {
          assertNotNull(map.get(users(user,i),value));
          assertEquals(i,value.ee);
          assertEquals(i,value.gg,0.0);
          assertEquals(i,value.ii);
        }
        for (int i=finalT; i < COUNT; i+=N_THREADS)         assertNotNull(map.get(users(user,i),value));
        for (int i=finalT; i < COUNT; i+=N_THREADS)         map.remove(users(user,i));
      }
    }
));
  }
  for (  Future<?> future : futures)   future.get();
  long time=System.nanoTime() - start;
  System.out.printf("String_Node_Str",(int)(COUNT * 4 * 1e6 / time));
  es.shutdown();
}

Fixed version (ground truth):
@Test public void testPutPerf() throws ExecutionException, InterruptedException {
  ExecutorService es=Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
  System.out.println("String_Node_Str");
  HugeConfig config=HugeConfig.DEFAULT.clone().setSegments(128).setSmallEntrySize(72).setCapacity(COUNT);
  final HugeHashMap<CharSequence,SampleValues> map=new HugeHashMap<CharSequence,SampleValues>(config,CharSequence.class,SampleValues.class);
  final String[] users=new String[COUNT];
  for (int i=0; i < COUNT; i++)   users[i]="String_Node_Str" + i;
  long start=System.nanoTime();
  List<Future<?>> futures=new ArrayList<Future<?>>();
  for (int t=0; t < N_THREADS; t++) {
    final int finalT=t;
    futures.add(es.submit(new Runnable(){
      @Override public void run(){
        final SampleValues value=new SampleValues();
        StringBuilder user=new StringBuilder();
        for (int i=finalT; i < COUNT; i+=N_THREADS) {
          value.ee=i;
          value.gg=i;
          value.ii=i;
          map.put(users(user,i),value);
        }
        for (int i=finalT; i < COUNT; i+=N_THREADS) {
          assertNotNull(map.get(users(user,i),value));
          assertEquals(i,value.ee);
          assertEquals(i,value.gg,0.0);
          assertEquals(i,value.ii);
        }
        for (int i=finalT; i < COUNT; i+=N_THREADS)         assertNotNull(map.get(users(user,i),value));
        for (int i=finalT; i < COUNT; i+=N_THREADS)         map.remove(users(user,i));
      }
    }
));
  }
  for (  Future<?> future : futures)   future.get();
  long time=System.nanoTime() - start;
  System.out.printf("String_Node_Str",(int)(COUNT * 4 * 1e6 / time));
  es.shutdown();
}