Author: elecharny
Date: Mon Mar 18 11:47:16 2013
New Revision: 1457717

URL: http://svn.apache.org/r1457717
Log:
Added an @ignored performance test

Modified:
    
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java

Modified: 
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java
URL: 
http://svn.apache.org/viewvc/labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java?rev=1457717&r1=1457716&r2=1457717&view=diff
==============================================================================
--- 
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java
 (original)
+++ 
labs/mavibot/trunk/mavibot/src/test/java/org/apache/mavibot/btree/store/RecordManagerTest.java
 Mon Mar 18 11:47:16 2013
@@ -33,6 +33,7 @@ import org.apache.mavibot.btree.exceptio
 import org.apache.mavibot.btree.exception.KeyNotFoundException;
 import org.apache.mavibot.btree.serializer.LongSerializer;
 import org.apache.mavibot.btree.serializer.StringSerializer;
+import org.junit.Ignore;
 import org.junit.Test;
 
 
@@ -167,7 +168,7 @@ public class RecordManagerTest
         assertNotNull( recordManager );
 
         // Create a new BTree
-        BTree<Long, String> btree = new BTree<Long, String>( "test", new 
LongSerializer(), new StringSerializer() );
+        BTree<Long, String> btree = new BTree<Long, String>( "test", new 
LongSerializer(), new StringSerializer(), 4 );
 
         // And make it managed by the RM
         recordManager.manage( btree );
@@ -210,4 +211,86 @@ public class RecordManagerTest
             assertEquals( "V" + i, btree1.get( i ) );
         }
     }
+
+
+    /**
+     * Test the creation of a RecordManager with a BTree containing 100 000 
elements
+     */
+    @Test
+    @Ignore("This is a performance test")
+    public void testRecordManagerWithBTreeLeafNode100K() throws IOException, 
BTreeAlreadyManagedException,
+        KeyNotFoundException
+    {
+        File tempFile = File.createTempFile( "mavibot", ".db" );
+
+        String tempFileName = tempFile.getAbsolutePath();
+        tempFile.deleteOnExit();
+
+        RecordManager recordManager = new RecordManager( tempFileName, 512 );
+
+        assertNotNull( recordManager );
+
+        // Create a new BTree
+        BTree<Long, String> btree = new BTree<Long, String>( "test", new 
LongSerializer(), new StringSerializer(), 32 );
+
+        // And make it managed by the RM
+        recordManager.manage( btree );
+
+        // Now, add some elements in the BTree
+        long t0 = System.currentTimeMillis();
+        for ( long i = 0L; i < 100000L; i++ )
+        {
+            btree.insert( i, "V" + i );
+        }
+        long t1 = System.currentTimeMillis();
+
+        // Close the recordManager
+        recordManager.close();
+
+        System.out.println( "Time taken to write 100 000 elements : " + ( t1 - 
t0 ) );
+
+        // Now, try to reload the file back
+        RecordManager recordManager1 = new RecordManager( tempFileName );
+
+        assertEquals( 1, recordManager1.getNbManagedTrees() );
+
+        Set<String> managedBTrees = recordManager1.getManagedTrees();
+
+        assertEquals( 1, managedBTrees.size() );
+        assertTrue( managedBTrees.contains( "test" ) );
+
+        BTree<Long, String> btree1 = recordManager1.getManagedTree( "test" );
+
+        assertNotNull( btree1 );
+        assertEquals( btree.getComparator().getClass().getName(), 
btree1.getComparator().getClass().getName() );
+        assertEquals( btree.getFile(), btree1.getFile() );
+        assertEquals( btree.getKeySerializer().getClass().getName(), 
btree1.getKeySerializer().getClass().getName() );
+        assertEquals( btree.getName(), btree1.getName() );
+        assertEquals( btree.getNbElems(), btree1.getNbElems() );
+        assertEquals( btree.getPageSize(), btree1.getPageSize() );
+        assertEquals( btree.getRevision(), btree1.getRevision() );
+        assertEquals( btree.getValueSerializer().getClass().getName(), 
btree1.getValueSerializer().getClass().getName() );
+
+        // Check the stored element
+        long t2 = System.currentTimeMillis();
+        for ( long i = 0L; i < 100000L; i++ )
+        {
+            //assertTrue( btree1.exist( i ) );
+            assertEquals( "V" + i, btree1.get( i ) );
+        }
+        long t3 = System.currentTimeMillis();
+        System.out.println( "Time taken to verify 100 000 elements : " + ( t3 
- t2 ) );
+
+        // Check the stored element a second time
+        long t4 = System.currentTimeMillis();
+        for ( long i = 0L; i < 100000L; i++ )
+        {
+            //assertTrue( btree1.exist( i ) );
+            assertEquals( "V" + i, btree1.get( i ) );
+        }
+        long t5 = System.currentTimeMillis();
+        System.out.println( "Time taken to verify 100 000 elements : " + ( t5 
- t4 ) );
+
+        System.out.println( "File size : " + tempFile.length() );
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to