[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