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

Reply via email to