private long testLong(int size, int iterations, boolean firstMethod) { Map<ReusableString, LongImpl> map = new HashMap<ReusableString, LongImpl>(size); for (int i = 0; i < size; ++i) { ReusableString key = new ReusableString("SOMEKEY" + (10000000 + i)); map.put(key, new LongImpl(key)); } ReusableString[] keys = map.keySet().toArray(new ReusableString[size]); Utils.invokeGC(); int cnt = _dontOpt; long startTime = System.currentTimeMillis(); if (firstMethod) { for (int i = 0; i < iterations; ++i) { int max = keys.length; for (int j = 0; j < max; ++j) { LongImpl order = map.get(keys[j]); order.aaa11111111111111111111(j); } } } else { for (int i = 0; i < iterations; ++i) { int max = keys.length; for (int j = 0; j < max; ++j) { LongImpl order = map.get(keys[j]); order.aaa1111111111111111111S(j); } } } long endTime = System.currentTimeMillis(); _dontOpt = cnt; return endTime - startTime; }