[jbosscache-commits] JBoss Cache SVN: r7062 - core/branches/flat/src/test/java/org/jboss/starobrno/profiling.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Mon Nov 3 12:58:47 EST 2008
Author: manik.surtani at jboss.com
Date: 2008-11-03 12:58:47 -0500 (Mon, 03 Nov 2008)
New Revision: 7062
Modified:
core/branches/flat/src/test/java/org/jboss/starobrno/profiling/MemConsumptionTest.java
Log:
Modified: core/branches/flat/src/test/java/org/jboss/starobrno/profiling/MemConsumptionTest.java
===================================================================
--- core/branches/flat/src/test/java/org/jboss/starobrno/profiling/MemConsumptionTest.java 2008-11-03 17:28:16 UTC (rev 7061)
+++ core/branches/flat/src/test/java/org/jboss/starobrno/profiling/MemConsumptionTest.java 2008-11-03 17:58:47 UTC (rev 7062)
@@ -22,6 +22,8 @@
package org.jboss.starobrno.profiling;
import org.jboss.starobrno.Cache;
+import org.jboss.starobrno.CacheException;
+import org.jboss.starobrno.UnitTestCacheFactory;
import org.jboss.starobrno.util.TestingUtil;
import org.testng.annotations.Test;
@@ -29,37 +31,48 @@
import java.text.NumberFormat;
import java.util.Arrays;
import java.util.Random;
-import java.util.concurrent.TimeUnit;
-import org.jboss.starobrno.UnitTestCacheFactory;
@Test(groups = "profiling")
public class MemConsumptionTest
{
- // adjust the next 3 numbers
- static final int numEntries = 1000000;
- static final int payloadSize = 20; // bytes
- static final int keySize = 10; // bytes
- static final int bytesPerChar = 2;
+ // adjust the next 4 values
+ int numEntries = 1000000;
+ int payloadSize = 20; // bytes
+ int keySize = 10; // bytes
+ PayloadType payloadType = PayloadType.STRINGS;
+ enum PayloadType
+ {
+ STRINGS, BYTE_ARRAYS
+ }
+
+ int bytesPerCharacter = 2;
+
Random r = new Random();
public void testMemConsumption() throws IOException
{
- int kBytesCached = (bytesPerChar * numEntries * (payloadSize + keySize)) / 1024;
+ int kBytesCached = (bytesPerCharacter * numEntries * (payloadSize + keySize)) / 1024;
System.out.println("Bytes to be cached: " + NumberFormat.getIntegerInstance().format(kBytesCached) + " kb");
-// Cache<byte[], byte[]> c = new DefaultCacheFactory<byte[], byte[]>().createCache(); // default LOCAL cache
- Cache<String, String> c = new UnitTestCacheFactory<String, String>().createCache(); // default LOCAL cache
-// Map<String, String> c = new ConcurrentHashMap<String, String>();
- long start = System.nanoTime();
+ Cache c = new UnitTestCacheFactory().createCache(); // default LOCAL cache
for (int i = 0; i < numEntries; i++)
{
-// c.put(generateUniqueKey(i, keySize), generateBytePayload(payloadSize));
- c.put(generateUniqueString(i, keySize), generateRandomString(payloadSize));
+ switch (payloadType)
+ {
+ case STRINGS:
+ c.put(generateUniqueString(i, keySize), generateRandomString(payloadSize));
+ break;
+ case BYTE_ARRAYS:
+ c.put(generateUniqueKey(i, keySize), generateBytePayload(payloadSize));
+ break;
+ default:
+ throw new CacheException("Unknown payload type");
+ }
+
+
if (i % 1000 == 0) System.out.println("Added " + i + " entries");
}
- long duration = System.nanoTime() - start;
- System.out.println("Done, took " + TimeUnit.NANOSECONDS.toSeconds(duration) + " seconds!");
System.out.println("Calling System.gc()");
System.gc(); // clear any unnecessary objects
More information about the jbosscache-commits
mailing list