Changeset: 8cf3c5ce7071 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8cf3c5ce7071
Modified Files:
clients/mapiclient/tomograph.c
configure.ag
monetdb5/mal/Tests/performanceTests/performanceLog
monetdb5/mal/mal_client.c
monetdb5/mal/mal_client.h
monetdb5/mal/mal_factory.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_instruction.h
monetdb5/mal/mal_interpreter.c
monetdb5/mal/mal_resource.c
monetdb5/mal/mal_runtime.c
monetdb5/mal/mal_runtime.h
monetdb5/modules/mal/clients.c
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/querylog.c
monetdb5/modules/mal/querylog.h
monetdb5/modules/mal/querylog.mal
monetdb5/modules/mal/sysmon.c
monetdb5/optimizer/opt_dataflow.c
monetdb5/optimizer/opt_pushselect.c
monetdb5/optimizer/opt_support.c
sql/backends/monet5/UDF/Tests/udf-fuse.stable.out
sql/backends/monet5/UDF/Tests/udf-reverse.stable.out
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.mx
sql/backends/monet5/sql_gencode.c
sql/common/sql_types.c
sql/jdbc/tests/Tests/Test_Dobjects.stable.out
sql/jdbc/tests/Tests/Test_JdbcClient.stable.out
sql/scripts/15_querylog.sql
sql/server/sql_atom.c
sql/server/sql_parser.y
sql/server/sql_scan.c
sql/test/BugDay_2005-10-06_2.8/Tests/MapiClient-dump.SF-905851.stable.out
sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
sql/test/BugTracker-2009/Tests/mclient-lsql-D.stable.out
sql/test/BugTracker-2009/Tests/name_clash_with_dump.SF-2780395.stable.out
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
sql/test/BugTracker-2011/Tests/copy-into-file-error.Bug-2722.stable.out
sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.stable.out
sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-0.Bug-3063.stable.out
sql/test/BugTracker-2012/Tests/table_functions_fail_after_restart-1.Bug-3063.stable.out
sql/test/BugTracker-2013/Tests/oid_handling.stable.err
sql/test/BugTracker-2013/Tests/oid_handling.stable.out
sql/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err
sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
sql/test/BugTracker/Tests/multi-column-constraint.SF-1964587.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out
sql/test/Dump/Tests/dump-empty.stable.out
sql/test/Dump/Tests/dump.stable.out
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/trace.stable.out
sql/test/Triggers/Tests/recursive_triggers.stable.err
sql/test/UserDump/Tests/create.stable.out
sql/test/bugs/Tests/crash_order_by.stable.out
sql/test/bugs/Tests/groupby_having_charlength-bug-sf-943566.stable.out
sql/test/bugs/Tests/simple_view.stable.out
sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
sql/test/leaks/Tests/check0.stable.out
sql/test/leaks/Tests/check1.stable.out
sql/test/leaks/Tests/check2.stable.out
sql/test/leaks/Tests/check3.stable.out
sql/test/leaks/Tests/check4.stable.out
sql/test/leaks/Tests/check5.stable.out
sql/test/leaks/Tests/drop3.stable.out
sql/test/leaks/Tests/select1.stable.out
sql/test/leaks/Tests/select2.stable.out
sql/test/leaks/Tests/temp1.stable.out
sql/test/leaks/Tests/temp2.stable.out
sql/test/leaks/Tests/temp3.stable.out
sql/test/mapi/Tests/php_monetdb.stable.out
sql/test/testdb/Tests/testdb-dump.stable.out
Branch: rdf
Log Message:
Merge with default branch
diffs (truncated from 3386 to 300 lines):
diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -480,8 +480,7 @@ dictionary[] = {
};
#define NUM_COLORS ((int) (sizeof(dictionary) / sizeof(RGB)))
-#define MAX_LEGEND 30 /* max. size of colormap / legend */
-#define MAX_LEGEND_SHORT 27
+#define MAX_LEGEND_SHORT 27 /* max. size of colormap / legend */
#define PERCENTAGE 0.01 /* threshold for time filter */
@@ -873,7 +872,7 @@ static void showmemory(void)
fprintf(gnudata, "set bmarg 1\n");
fprintf(gnudata, "set lmarg 10\n");
fprintf(gnudata, "set rmarg 10\n");
- fprintf(gnudata, "set size 1,%s\n", fixedmap ? "0.07" : "0.1");
+ fprintf(gnudata, "set size 1,%s\n", "0.1");
fprintf(gnudata, "set origin 0.0,0.87\n");
fprintf(gnudata, "set xrange ["LLFMT".0:"LLFMT".0]\n", startrange,
lastclktick - starttime);
@@ -902,15 +901,13 @@ static void showcpu(void)
fprintf(gnudata, "set bmarg 0\n");
fprintf(gnudata, "set lmarg 10\n");
fprintf(gnudata, "set rmarg 10\n");
- fprintf(gnudata, "set size 1,%s\n", fixedmap ? "0.08" : "0.16");
- fprintf(gnudata, "set origin 0.0,%s\n", fixedmap ? "0.8" : "0.72");
+ fprintf(gnudata, "set size 1,%s\n", "0.16");
+ fprintf(gnudata, "set origin 0.0,%s\n", "0.72");
fprintf(gnudata, "set ylabel \"CPU\"\n");
fprintf(gnudata, "unset ytics\n");
- if (!fixedmap) {
- fprintf(gnudata, "set ytics 0, 1.1\n");
- fprintf(gnudata, "set grid ytics\n");
- fprintf(gnudata, "set format y ''\n");
- }
+ fprintf(gnudata, "set ytics 0, 1.1\n");
+ fprintf(gnudata, "set grid ytics\n");
+ fprintf(gnudata, "set format y ''\n");
fprintf(gnudata, "unset border\n");
fprintf(gnudata, "set xrange ["LLFMT".0:"LLFMT".0]\n", startrange,
lastclktick - starttime);
@@ -919,12 +916,10 @@ static void showcpu(void)
fprintf(gnudata, "plot ");
for (i = 0; i < cpus; i++)
fprintf(gnudata, "\"%s_cpu.dat\" using 1:($%d+(%d*1.1)) notitle
with lines linecolor rgb \"%s\"%s",
- (tracefile ? "scratch" : filename), i + 2, i,
(i % 2 == 0 ? (fixedmap ? "black" : "blue") : "red"), (i < cpus - 1 ? ",\\\n" :
"\n"));
+ (tracefile ? "scratch" : filename), i + 2, i,
(i % 2 == 0 ? "blue" : "red"), (i < cpus - 1 ? ",\\\n" : "\n"));
fprintf(gnudata, "unset yrange\n");
- if (!fixedmap) {
- fprintf(gnudata, "unset ytics\n");
- fprintf(gnudata, "unset grid\n");
- }
+ fprintf(gnudata, "unset ytics\n");
+ fprintf(gnudata, "unset grid\n");
}
/* produce memory thread trace */
@@ -947,7 +942,7 @@ static void showio(void)
fprintf(gnudata, "set bmarg 1\n");
fprintf(gnudata, "set lmarg 10\n");
fprintf(gnudata, "set rmarg 10\n");
- fprintf(gnudata, "set size 1,%s\n", fixedmap ? "0.07" : "0.1");
+ fprintf(gnudata, "set size 1,%s\n", "0.1");
fprintf(gnudata, "set origin 0.0,0.87\n");
fprintf(gnudata, "set xrange ["LLFMT".0:"LLFMT".0]\n", startrange,
lastclktick - starttime);
fprintf(gnudata, "set yrange [0:"LLFMT".0]\n", max / beat);
@@ -1130,7 +1125,7 @@ static void showcolormap(char *filename,
fprintf(f, "set lmarg 10\n");
fprintf(f, "set rmarg 10\n");
fprintf(f, "set size 1,0.4\n");
- fprintf(f, "set origin 0.0,%s\n", fixedmap ? "0.0" : "-0.05");
+ fprintf(f, "set origin 0.0,%s\n", "-0.05");
fprintf(f, "set xrange [0:1800]\n");
fprintf(f, "set yrange [0:600]\n");
fprintf(f, "unset xtics\n");
@@ -1182,9 +1177,9 @@ static void showcolormap(char *filename,
}
} else {
/* use a heuristic fixed map to highlight the important
operations */
- /* limit the legend to the most important ones <MAX_LEGEND and
> 1% */
- int map[MAX_LEGEND], n, m=0, j;
- for (i = 0; i < MAX_LEGEND; i++)
+ /* limit the legend to the most important ones
<MAX_LEGEND_SHORT and > 1% */
+ int map[MAX_LEGEND_SHORT], n, m=0, j;
+ for (i = 0; i < MAX_LEGEND_SHORT; i++)
map[i] = -1;
for (i = 0; i < NUM_COLORS - 1; i++) {
tottime += clrs[i].timeused;
@@ -1192,12 +1187,12 @@ static void showcolormap(char *filename,
}
/* filter out the top N interesting elements */
for (i = 0; i < NUM_COLORS - 1; i++)
- if (clrs[i].col && clrs[i].mod && clrs[i].freq > 0)
+ if (clrs[i].col && clrs[i].mod && (clrs[i].freq > 0 || all))
{
if (clrs[i].timeused > PERCENTAGE * duration ||
clrs[i].freq > PERCENTAGE * totfreq) {
for ( j = 0; j < m && clrs[map[j]].timeused >
clrs[i].timeused; j++)
;
- if ( m < MAX_LEGEND){
+ if ( m < MAX_LEGEND_SHORT){
for( n = m-1; n > j; n--)
map[n] = map[n-1];
map[j] = i;
@@ -1218,7 +1213,7 @@ static void showcolormap(char *filename,
if ( clrs[map[i]].col){
if (k % 3 == 0)
h -= 45;
- fprintf(f, "set object %d rectangle from %f, %f
to %f, %f fillcolor rgb \"%s\" fillstyle solid 0.6\n",
+ fprintf(f, "set object %d rectangle from %f, %f
to %f, %f fillcolor rgb \"%s\" fillstyle solid 1.0\n",
object++, (double) (k % 3) * w,
(double) h - 40, (double) ((k % 3) * w + 0.15 * w), (double) h - 5,
clrs[map[i]].col);
fprintf(f, "set label %d \"%s.%s \" at %d,%d\n",
object++, clrs[map[i]].mod,
clrs[map[i]].fcn, (int) ((k % 3) * w + 0.2 * w), h - 15);
@@ -1235,8 +1230,7 @@ static void showcolormap(char *filename,
fprintf(f, "set label %d \" "LLFMT" MAL instructions executed; total
CPU core time: ",
object++, totfreq);
fprintf_time(f, tottime);
- if (!fixedmap)
- fprintf(f, "; parallelism usage %.1f %%", totalclkticks /
(totalticks / 100.0));
+ fprintf(f, "; parallelism usage %.1f %%", totalclkticks / (totalticks /
100.0));
fprintf(f, "\" at %d,%d\n",
(int) (0.2 * w), h - 35);
fprintf(f, "plot 0 notitle with lines linecolor rgb \"white\"\n");
@@ -1424,7 +1418,7 @@ static void createTomogram(void)
fprintf(gnudata, "set lmarg 10\n");
fprintf(gnudata, "set rmarg 10\n");
fprintf(gnudata, "set size 1,0.4\n");
- fprintf(gnudata, "set origin 0.0,%s\n", fixedmap ? "0.4" : "0.32");
+ fprintf(gnudata, "set origin 0.0,%s\n", "0.32");
fprintf(gnudata, "set xrange ["LLFMT".0:"LLFMT".0]\n", startrange,
lastclktick - starttime);
/* detect all different threads and assign them a row */
@@ -1514,8 +1508,6 @@ static void createTomogram(void)
totalticks = 0;
for (i = 0; i < top; i++)
totalticks += lastclk[rows[i]];
- if (fixedmap)
- fprintf(gnudata, "set xlabel \"%s, parallelism usage %.1f
%%\"\n", scalename+3, totalclkticks / (totalticks / 100.0));
h = 10; /* unit height of bars */
fprintf(gnudata, "set ytics (");
@@ -1526,7 +1518,7 @@ static void createTomogram(void)
/* mark duration of each thread */
for (i = 0; i < top; i++)
fprintf(gnudata, "set object %d rectangle from %d, %d to
"LLFMT".0, %d\n",
- object++, 0, i * 2 * h + (1-fixedmap)*h/3,
lastclk[rows[i]], i * 2 * h + h - (1-fixedmap)*h/3);
+ object++, 0, i * 2 * h + h/3, lastclk[rows[i]],
i * 2 * h + h - h/3);
/* fill the duration of each instruction encountered that fit our range
constraint */
for (i = 0; i < topbox; i++)
@@ -1535,14 +1527,14 @@ static void createTomogram(void)
default:
if (debug)
dumpbox(i);
- fprintf(gnudata, "set object %d rectangle from
"LLFMT".0, %d to "LLFMT".0, %d fillcolor rgb \"%s\" fillstyle solid 0.6\n",
+ fprintf(gnudata, "set object %d rectangle from
"LLFMT".0, %d to "LLFMT".0, %d fillcolor rgb \"%s\" fillstyle solid 1.0\n",
object++, box[i].clkstart, box[i].row *
2 * h, box[i].clkend, box[i].row * 2 * h + h, colors[box[i].color].col);
break;
case PING:
break;
case WAIT:
fprintf(gnudata, "set object %d rectangle from
"LLFMT".0, %d to %f,%f front fillcolor rgb \"red\" fillstyle solid 1.0\n",
- object++, box[i].clkstart, box[i].row *
2 * h+h, box[i].clkstart + w /50.0, box[i].row *2 *h + 1.3 * h);
+ object++, box[i].clkstart, box[i].row *
2 * h+h-h/3, box[i].clkstart + w /50.0, box[i].row *2 *h + 1.3 * h);
}
diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -29,7 +29,7 @@ AC_CANONICAL_TARGET
dnl use tar-ustar since we have long (longer than 99 characters) file names
AM_INIT_AUTOMAKE([tar-ustar no-dist-gzip dist-bzip2])
AC_CONFIG_SRCDIR([gdk/gdk.h])
-AM_CONFIG_HEADER([monetdb_config.h])
+AC_CONFIG_HEADERS([monetdb_config.h])
AC_SUBST([CONFIG_H], [monetdb_config.h])
HOST=[$target]
diff --git a/monetdb5/mal/Tests/performanceTests/performanceLog
b/monetdb5/mal/Tests/performanceTests/performanceLog
--- a/monetdb5/mal/Tests/performanceTests/performanceLog
+++ b/monetdb5/mal/Tests/performanceTests/performanceLog
@@ -1216,3 +1216,18 @@ tst400e 0.613/0.524/0.013
tst901a 1.315/0.651/0.595
tst901b 1.313/1.222/0.016
+======================== 20 mar 2013 ===================
+Vienna Fedora 18
+Default release
+The compilation mode for is --enable-optimize --disable-debug
+compilation took ?
+command: time mserver5 TST </dev/null >/dev/null
+base 0.212/0.046/0.016.
+tst400a 0.211/0.079/0.014
+tst400bHuge 0.263/0.109/0.020
+tst400cHuge 0.264/0.120/0.023
+tst400d 0.511/0.319/0.020
+tst400e 0.613/0.470/0.012
+
+tst901a 0.655/0.409/0.038
+tst901b 1.417/1.100/0.038
diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c
--- a/monetdb5/mal/mal_client.c
+++ b/monetdb5/mal/mal_client.c
@@ -233,8 +233,6 @@ MCinitClientRecord(Client c, oid user, b
c->itrace = 0;
c->debugOptimizer = c->debugScheduler = 0;
c->flags = MCdefault;
- c->timer = 0;
- c->memory = 0;
c->errbuf = 0;
prompt = !fin ? GDKgetenv("monet_prompt") : PROMPT1;
diff --git a/monetdb5/mal/mal_client.h b/monetdb5/mal/mal_client.h
--- a/monetdb5/mal/mal_client.h
+++ b/monetdb5/mal/mal_client.h
@@ -90,8 +90,6 @@ typedef struct CLIENT {
* usage patterns.
*/
sht flags; /* resource tracing flags */
- lng timer; /* trace time in usec */
- lng memory; /* memory claimed for keeping BATs */
BUN cnt; /* bat count */
#define footprintFlag 16
diff --git a/monetdb5/mal/mal_factory.c b/monetdb5/mal/mal_factory.c
--- a/monetdb5/mal/mal_factory.c
+++ b/monetdb5/mal/mal_factory.c
@@ -382,8 +382,6 @@ runFactory(Client cntxt, MalBlkPtr mb, M
pl->stk->stkbot= mb->vtop; /* stack already initialized */
msg = runMAL(cntxt, mb, 0, pl->stk);
} else {
- if( cmd && cntxt->timer == 0)
- mdbStep(cntxt,mb,pl->stk,pl->pc);
msg = reenterMAL(cntxt, mb, pl->pc, -1, pl->stk);
}
/* propagate change in debugging status */
@@ -457,8 +455,6 @@ callFactory(Client cntxt, MalBlkPtr mb,
if( lhs->vtype == TYPE_bat )
BBPincref(lhs->val.bval, TRUE);
}
- if( flag && cntxt->timer == 0)
- mdbStep(cntxt,mb,pl->stk,pl->pc);
ret= reenterMAL(cntxt, mb, pl->pc, -1, pl->stk);
/* garbage collect the string arguments, these positions
will simply be overwritten the next time.
diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -133,6 +133,7 @@ newMalBlk(int maxvars, int maxstmts)
mb->trap = 0;
mb->runtime = 0;
mb->calls = 0;
+ mb->optimize = 0;
if (newMalBlkStmt(mb, maxstmts) < 0)
return NULL;
return mb;
@@ -248,6 +249,7 @@ copyMalBlk(MalBlkPtr old)
mb->trap = old->trap;
mb->runtime = old->runtime;
mb->calls = old->calls;
+ mb->optimize = old->optimize;
mb->replica = old->replica;
mb->maxarg = old->maxarg;
mb->profiler = NULL;
diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h
--- a/monetdb5/mal/mal_instruction.h
+++ b/monetdb5/mal/mal_instruction.h
@@ -146,6 +146,7 @@ typedef struct MALBLK {
sht trap; /* call debugger when
called */
lng runtime; /* average execution
time of block in ticks */
int calls; /* number of calls */
+ lng optimize; /* total optimizer time */
} *MalBlkPtr, MalBlkRecord;
/* Allocation of space assumes a rather exotic number of
diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c
--- a/monetdb5/mal/mal_interpreter.c
+++ b/monetdb5/mal/mal_interpreter.c
@@ -316,7 +316,6 @@ str runMAL(Client cntxt, MalBlkPtr mb, M
int i;
ValPtr lhs, rhs;
str ret;
- RuntimeProfileRecord runtimeProfile;
(void) mbcaller;
if (mb->errors) {
@@ -369,14 +368,9 @@ str runMAL(Client cntxt, MalBlkPtr mb, M
* observed due the small size of the function).
*/
}
- runtimeProfileInit(cntxt, mb, stk, &runtimeProfile);
-
if (stk->cmd && env && stk->cmd != 'f')
stk->cmd = env->cmd;
- runtimeProfileBegin(cntxt, mb, stk, 0, &runtimeProfile, 1);
ret = runMALsequence(cntxt, mb, 1, 0, stk, env, 0);
- runtimeProfile.ppc = 0; /* also finalize function call event */
- runtimeProfileExit(cntxt, mb, stk, 0, &runtimeProfile);
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list