[Debtags-commits] [svn] r1597 - in tagcoll/trunk: . bench

Enrico Zini enrico at costa.debian.org
Tue Feb 21 13:34:59 UTC 2006


Author: enrico
Date: Tue Feb 21 13:34:57 2006
New Revision: 1597

Modified:
   tagcoll/trunk/   (props changed)
   tagcoll/trunk/bench/collection.cc
Log:
 r7415 at viaza:  enrico | 2006-02-21 01:03:35 +0100
 Added TDBReadonlyDiskIndex and CardinalityStore benchmarks


Modified: tagcoll/trunk/bench/collection.cc
==============================================================================
--- tagcoll/trunk/bench/collection.cc	(original)
+++ tagcoll/trunk/bench/collection.cc	Tue Feb 21 13:34:57 2006
@@ -3,6 +3,9 @@
 #include <tagcoll/InputMerger.h>
 #include <tagcoll/TextFormat.h>
 #include <tagcoll/BasicStringDiskIndex.h>
+#include <tagcoll/TDBIndexer.h>
+#include <tagcoll/TDBReadonlyDiskIndex.h>
+#include <tagcoll/CardinalityStore.h>
 
 #include <vector>
 #include <iostream>
@@ -215,7 +218,7 @@
 			outputROCollection(indexer);
 			t1.done();
 			
-			Timer t2 = mktimer("writing indexerd collection");
+			Timer t2 = mktimer("writing indexed collection");
 			indexer.write("bench-basicstringdiskindex.tmp");
 			t2.done();
 		}
@@ -237,126 +240,71 @@
 	}
 };
 
-#if 0
-class enqset : public Benchmark
-{
-	VECtor<dba_keyword> int_keys;
-	vector<dba_keyword> float_keys;
-	vector<dba_keyword> char_keys;
-	vector<dba_varcode> int_vars;
-	vector<dba_varcode> float_vars;
-	vector<dba_varcode> char_vars;
 
+class benchTDBReadonlyDiskIndex : public CollectionBench
+{
 protected:
-	virtual dba_err main()
+	virtual void main()
 	{
-		static const int iterations = 1500000;
-		int ival; double dval; const char* cval;
-		dba_record rec;
-
-		DBA_RUN_OR_RETURN(dba_record_create(&rec));
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_keyword>::const_iterator j = int_keys.begin(); j != int_keys.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_key_seti(rec, *j, 42));
-		timing("%d dba_record_key_seti", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_keyword>::const_iterator j = float_keys.begin(); j != float_keys.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_key_setd(rec, *j, 42.42));
-		timing("%d dba_record_key_setd", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_keyword>::const_iterator j = char_keys.begin(); j != char_keys.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_key_setc(rec, *j, "foobar"));
-		timing("%d dba_record_key_setc", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_keyword>::const_iterator j = int_keys.begin(); j != int_keys.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_key_enqi(rec, *j, &ival));
-		timing("%d dba_record_key_enqi", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_keyword>::const_iterator j = float_keys.begin(); j != float_keys.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_key_enqd(rec, *j, &dval));
-		timing("%d dba_record_key_enqd", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_keyword>::const_iterator j = char_keys.begin(); j != char_keys.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_key_enqc(rec, *j, &cval));
-		timing("%d dba_record_key_enqc", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_varcode>::const_iterator j = int_vars.begin(); j != int_vars.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_var_seti(rec, *j, 42));
-		timing("%d dba_record_var_seti", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_varcode>::const_iterator j = float_vars.begin(); j != float_vars.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_var_setd(rec, *j, 42.42));
-		timing("%d dba_record_var_setd", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_varcode>::const_iterator j = char_vars.begin(); j != char_vars.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_var_setc(rec, *j, "foobar"));
-		timing("%d dba_record_var_setc", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_varcode>::const_iterator j = int_vars.begin(); j != int_vars.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_var_enqi(rec, *j, &ival));
-		timing("%d dba_record_var_enqi", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_varcode>::const_iterator j = float_vars.begin(); j != float_vars.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_var_enqd(rec, *j, &dval));
-		timing("%d dba_record_var_enqd", iterations);
-
-		for (int i = 0; i < iterations; i++)
-			for (vector<dba_varcode>::const_iterator j = char_vars.begin(); j != char_vars.end(); j++)
-				DBA_RUN_OR_RETURN(dba_record_var_enqc(rec, *j, &cval));
-		timing("%d dba_record_var_enqc", iterations);
+		Timer main = mktimer("total");
+		TrivialConverter<string, string> conv;
+		{
+			TDBIndexer<string, string> indexer;
+
+			Timer t1 = mktimer("indexing collection");
+			outputROCollection(indexer);
+			t1.done();
+			
+			Timer t2 = mktimer("writing indexed collection");
+			indexer.writeIndex(conv, conv,
+					"bench-TDBReadonlyDiskIndex1.tmp",
+					"bench-TDBReadonlyDiskIndex2.tmp");
+			t2.done();
+		}
 
-		dba_record_delete(rec);
+		Timer t3 = mktimer("instantiating indexed collection");
+		TDBReadonlyDiskIndex<string, string> coll(
+				"bench-TDBReadonlyDiskIndex1.tmp",
+				"bench-TDBReadonlyDiskIndex2.tmp",
+				conv, conv, conv, conv);
+		t3.done();
 
-		return dba_error_ok();
+		{
+			Timer t = mktimer("read only collection");
+			benchROCollection(coll);
+		}
 	}
 
 public:
-	enqset() : Benchmark("enqset")
+	benchTDBReadonlyDiskIndex() : CollectionBench("TDBReadonlyDiskIndex") {}
+	~benchTDBReadonlyDiskIndex() {
+		unlink("bench-TDBReadonlyDiskIndex1.tmp");
+		unlink("bench-TDBReadonlyDiskIndex2.tmp");
+	}
+};
+
+
+class benchCardinalityStore : public CollectionBench
+{
+protected:
+	virtual void main()
 	{
-		int_keys.push_back(DBA_KEY_PRIORITY);
-		int_keys.push_back(DBA_KEY_PRIOMAX);
-		int_keys.push_back(DBA_KEY_PRIOMIN);
-		int_keys.push_back(DBA_KEY_LEVELTYPE);
-		int_keys.push_back(DBA_KEY_DATA_ID);
-		float_keys.push_back(DBA_KEY_LAT);
-		float_keys.push_back(DBA_KEY_LON);
-		float_keys.push_back(DBA_KEY_LATMAX);
-		float_keys.push_back(DBA_KEY_LATMIN);
-		float_keys.push_back(DBA_KEY_LONMAX);
-		char_keys.push_back(DBA_KEY_REP_MEMO);
-		char_keys.push_back(DBA_KEY_IDENT);
-		char_keys.push_back(DBA_KEY_NAME);
-		char_keys.push_back(DBA_KEY_DATETIME);
-		char_keys.push_back(DBA_KEY_VARLIST);
-		int_vars.push_back(  DBA_VAR(0, 1,   1));
-		int_vars.push_back(  DBA_VAR(0, 1,   2));
-		int_vars.push_back(  DBA_VAR(0, 4,   1));
-		int_vars.push_back(  DBA_VAR(0, 4,   2));
-		int_vars.push_back(  DBA_VAR(0, 4,   3));
-		float_vars.push_back(DBA_VAR(0, 2,   5));
-		float_vars.push_back(DBA_VAR(0, 2,  63));
-		float_vars.push_back(DBA_VAR(0, 5,   1));
-		float_vars.push_back(DBA_VAR(0, 7,   2));
-		float_vars.push_back(DBA_VAR(0, 14, 16));
-		char_vars.push_back( DBA_VAR(0, 1,   8));
-		char_vars.push_back( DBA_VAR(0, 1,  11));
-		char_vars.push_back( DBA_VAR(0, 1,   8));
-		char_vars.push_back( DBA_VAR(0, 1,  11));
-		char_vars.push_back( DBA_VAR(0, 1,   8));
+		Timer main = mktimer("total");
+		CardinalityStore<string, string> coll;
+
+		Timer t1 = mktimer("indexing collection");
+		outputROCollection(coll);
+		t1.done();
+			
+		{
+			Timer t = mktimer("read only collection");
+			benchROCollection(coll);
+		}
 	}
+
+public:
+	benchCardinalityStore() : CollectionBench("CardinalityStore") {}
 };
-#endif
 
 class top : public Benchmark
 {
@@ -365,9 +313,8 @@
 	{
 		addChild(new benchInputMerger());
 		addChild(new benchBasicStringDiskIndex());
-#if 0
-		addChild(new enqset());
-#endif
+		addChild(new benchTDBReadonlyDiskIndex());
+		addChild(new benchCardinalityStore());
 	}
 };
 



More information about the Debtags-commits mailing list