Changeset: ef61b56d0831 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ef61b56d0831
Modified Files:
monetdb5/optimizer/opt_aliases.c
monetdb5/optimizer/opt_candidates.c
monetdb5/optimizer/opt_coercion.c
monetdb5/optimizer/opt_commonTerms.c
monetdb5/optimizer/opt_constants.c
monetdb5/optimizer/opt_costModel.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_deadcode.c
monetdb5/optimizer/opt_emptybind.c
monetdb5/optimizer/opt_evaluate.c
monetdb5/optimizer/opt_garbageCollector.c
monetdb5/optimizer/opt_generator.c
monetdb5/optimizer/opt_inline.c
monetdb5/optimizer/opt_jit.c
monetdb5/optimizer/opt_json.c
monetdb5/optimizer/opt_matpack.c
monetdb5/optimizer/opt_mergetable.c
monetdb5/optimizer/opt_mitosis.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_oltp.c
monetdb5/optimizer/opt_profiler.c
monetdb5/optimizer/opt_projectionpath.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_querylog.c
monetdb5/optimizer/opt_reduce.c
monetdb5/optimizer/opt_remap.c
monetdb5/optimizer/opt_remoteQueries.c
monetdb5/optimizer/opt_reorder.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_volcano.c
monetdb5/optimizer/opt_wrapper.c
Branch: default
Log Message:
Prepare optimizers for exception returns
Statistics gathering is replicated in the optimizer itself
diffs (truncated from 779 to 300 lines):
diff --git a/monetdb5/optimizer/opt_aliases.c b/monetdb5/optimizer/opt_aliases.c
--- a/monetdb5/optimizer/opt_aliases.c
+++ b/monetdb5/optimizer/opt_aliases.c
@@ -9,6 +9,7 @@
#include "monetdb_config.h"
#include "mal_instruction.h"
#include "opt_aliases.h"
+#include "opt_statistics.h"
/* an alias is recognized by a simple assignment */
#define OPTisAlias(X) (X->token == ASSIGNsymbol && X->barrier == 0 && X->argc
== 2)
@@ -77,9 +78,14 @@ OPTaliasesImplementation(Client cntxt, M
//chkFlow(cntxt->fdout, mb);
//chkDeclarations(cntxt->fdout, mb);
//
- /* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","aliases",actions,GDKusec()-usec);
+ /* keep all actions taken as a post block comment
+ * and update statics */
+ usec= GDKusec() - usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","aliases",actions,usec);
newComment(mb,buf);
+ QOTupdateStatistics("aliases",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
return actions;
}
diff --git a/monetdb5/optimizer/opt_candidates.c
b/monetdb5/optimizer/opt_candidates.c
--- a/monetdb5/optimizer/opt_candidates.c
+++ b/monetdb5/optimizer/opt_candidates.c
@@ -13,6 +13,7 @@
#include "monetdb_config.h"
#include "mal_instruction.h"
#include "opt_candidates.h"
+#include "opt_statistics.h"
int
OPTcandidatesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci)
@@ -80,8 +81,11 @@ OPTcandidatesImplementation(Client cntxt
//chkFlow(cntxt->fdout, mb);
//chkDeclarations(cntxt->fdout, mb);
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","candidates",1,GDKusec() -usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=1 time=" LLFMT " usec","candidates",usec);
newComment(mb,buf);
+ QOTupdateStatistics("candidates",1,usec);
+ addtoMalBlkHistory(mb);
return 1;
}
diff --git a/monetdb5/optimizer/opt_coercion.c
b/monetdb5/optimizer/opt_coercion.c
--- a/monetdb5/optimizer/opt_coercion.c
+++ b/monetdb5/optimizer/opt_coercion.c
@@ -12,6 +12,7 @@
#include "monetdb_config.h"
#include "opt_coercion.h"
+#include "opt_statistics.h"
typedef struct{
int pc;
@@ -196,8 +197,12 @@ OPTcoercionImplementation(Client cntxt,M
chkDeclarations(cntxt->fdout, mb);
}
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","coercion",actions,GDKusec() - usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","coercion",actions, usec);
newComment(mb,buf);
+ QOTupdateStatistics("coercion",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
return actions;
}
diff --git a/monetdb5/optimizer/opt_commonTerms.c
b/monetdb5/optimizer/opt_commonTerms.c
--- a/monetdb5/optimizer/opt_commonTerms.c
+++ b/monetdb5/optimizer/opt_commonTerms.c
@@ -8,6 +8,7 @@
#include "monetdb_config.h"
#include "opt_commonTerms.h"
+#include "opt_statistics.h"
#include "mal_exception.h"
/*
* Caveat. A lot of time was lost due to constants that are indistinguisable
@@ -179,8 +180,12 @@ OPTcommonTermsImplementation(Client cntx
chkDeclarations(cntxt->fdout, mb);
}
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","commonTerms",actions,GDKusec() - usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","commonTerms",actions,usec);
newComment(mb,buf);
+ QOTupdateStatistics("commonTerms",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
wrapup:
if(alias) GDKfree(alias);
diff --git a/monetdb5/optimizer/opt_constants.c
b/monetdb5/optimizer/opt_constants.c
--- a/monetdb5/optimizer/opt_constants.c
+++ b/monetdb5/optimizer/opt_constants.c
@@ -20,6 +20,7 @@
*/
#include "monetdb_config.h"
#include "mal_instruction.h"
+#include "opt_statistics.h"
#include "opt_constants.h"
int
@@ -93,8 +94,12 @@ OPTconstantsImplementation(Client cntxt,
//chkDeclarations(cntxt->fdout, mb);
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","constants",actions,GDKusec() - usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","constants",actions,usec);
newComment(mb,buf);
+ QOTupdateStatistics("constants",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
wrapup:
if( alias) GDKfree(alias);
diff --git a/monetdb5/optimizer/opt_costModel.c
b/monetdb5/optimizer/opt_costModel.c
--- a/monetdb5/optimizer/opt_costModel.c
+++ b/monetdb5/optimizer/opt_costModel.c
@@ -7,6 +7,7 @@
*/
#include "monetdb_config.h"
+#include "opt_statistics.h"
#include "opt_costModel.h"
/*
@@ -149,8 +150,11 @@ OPTcostModelImplementation(Client cntxt,
//chkFlow(cntxt->fdout, mb);
//chkDeclarations(cntxt->fdout, mb);
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","costmodel",1,GDKusec() - usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=1 time=" LLFMT " usec","costmodel",usec);
newComment(mb,buf);
+ QOTupdateStatistics("costmodel",1,usec);
+ addtoMalBlkHistory(mb);
return 1;
}
diff --git a/monetdb5/optimizer/opt_dataflow.c
b/monetdb5/optimizer/opt_dataflow.c
--- a/monetdb5/optimizer/opt_dataflow.c
+++ b/monetdb5/optimizer/opt_dataflow.c
@@ -11,6 +11,7 @@
*/
#include "monetdb_config.h"
#include "opt_dataflow.h"
+#include "opt_statistics.h"
#include "mal_instruction.h"
#include "mal_interpreter.h"
#include "manifold.h"
@@ -317,8 +318,12 @@ OPTdataflowImplementation(Client cntxt,
printFunction(cntxt->fdout, mb, 0, LIST_MAL_ALL);
#endif
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","dataflow",actions,GDKusec() - usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","dataflow",actions,usec);
newComment(mb,buf);
+ QOTupdateStatistics("dataflow",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
wrapup:
if(states) GDKfree(states);
diff --git a/monetdb5/optimizer/opt_deadcode.c
b/monetdb5/optimizer/opt_deadcode.c
--- a/monetdb5/optimizer/opt_deadcode.c
+++ b/monetdb5/optimizer/opt_deadcode.c
@@ -9,6 +9,7 @@
/* (c) Martin Kersten
*/
#include "monetdb_config.h"
+#include "opt_statistics.h"
#include "opt_deadcode.h"
int
@@ -111,8 +112,12 @@ OPTdeadcodeImplementation(Client cntxt,
//chkDeclarations(cntxt->fdout, mb);
//}
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","deadcode",actions, GDKusec() - usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","deadcode",actions, usec);
newComment(mb,buf);
+ QOTupdateStatistics("deadcode",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
wrapup:
if(old) GDKfree(old);
diff --git a/monetdb5/optimizer/opt_emptybind.c
b/monetdb5/optimizer/opt_emptybind.c
--- a/monetdb5/optimizer/opt_emptybind.c
+++ b/monetdb5/optimizer/opt_emptybind.c
@@ -18,6 +18,7 @@
#include "opt_emptybind.h"
#include "opt_aliases.h"
#include "opt_deadcode.h"
+#include "opt_statistics.h"
#include "mal_builder.h"
#define addresult(I)
\
@@ -342,7 +343,11 @@ OPTemptybindImplementation(Client cntxt,
chkDeclarations(cntxt->fdout, mb);
/* keep all actions taken as a post block comment */
wrapup:
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","emptybind",actions,GDKusec() - usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","emptybind",actions, usec);
newComment(mb,buf);
+ QOTupdateStatistics("emptybind",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
return 1;
}
diff --git a/monetdb5/optimizer/opt_evaluate.c
b/monetdb5/optimizer/opt_evaluate.c
--- a/monetdb5/optimizer/opt_evaluate.c
+++ b/monetdb5/optimizer/opt_evaluate.c
@@ -9,6 +9,7 @@
#include "monetdb_config.h"
#include "opt_evaluate.h"
#include "opt_aliases.h"
+#include "opt_statistics.h"
static int
OPTallConstant(Client cntxt, MalBlkPtr mb, InstrPtr p)
@@ -246,8 +247,12 @@ OPTevaluateImplementation(Client cntxt,
//chkDeclarations(cntxt->fdout, mb);
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","evaluate",actions,GDKusec() -usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","evaluate",actions,usec);
newComment(mb,buf);
+ QOTupdateStatistics("evaluate",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
wrapup:
if ( env) freeStack(env);
diff --git a/monetdb5/optimizer/opt_garbageCollector.c
b/monetdb5/optimizer/opt_garbageCollector.c
--- a/monetdb5/optimizer/opt_garbageCollector.c
+++ b/monetdb5/optimizer/opt_garbageCollector.c
@@ -8,6 +8,7 @@
#include "monetdb_config.h"
#include "opt_garbageCollector.h"
+#include "opt_statistics.h"
#include "mal_interpreter.h" /* for showErrors() */
#include "mal_builder.h"
#include "mal_function.h"
@@ -160,8 +161,12 @@ OPTgarbageCollectorImplementation(Client
chkDeclarations(cntxt->fdout, mb);
}
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","garbagecollector",actions+1,GDKusec() - usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","garbagecollector",actions+1, usec);
newComment(mb,buf);
+ QOTupdateStatistics("garbagecollector",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
return actions+1;
}
diff --git a/monetdb5/optimizer/opt_generator.c
b/monetdb5/optimizer/opt_generator.c
--- a/monetdb5/optimizer/opt_generator.c
+++ b/monetdb5/optimizer/opt_generator.c
@@ -8,6 +8,7 @@
#include "monetdb_config.h"
#include "opt_generator.h"
+#include "opt_statistics.h"
#include "mal_builder.h"
/*
@@ -170,8 +171,12 @@ OPTgeneratorImplementation(Client cntxt,
//chkFlow(cntxt->fdout, mb);
//chkDeclarations(cntxt->fdout, mb);
/* keep all actions taken as a post block comment */
- snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","generator",actions,GDKusec() - usec);
+ usec = GDKusec()- usec;
+ snprintf(buf,256,"%-20s actions=%2d time=" LLFMT "
usec","generator",actions, usec);
newComment(mb,buf);
+ QOTupdateStatistics("generator",actions,usec);
+ if( actions >= 0)
+ addtoMalBlkHistory(mb);
return actions;
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list