Changeset: 81ec059be50a for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=81ec059be50a
Added Files:
        monetdb5/scheduler/Tests/20Runs400MB8MBJoinSelect.mal
Modified Files:
        monetdb5/scheduler/run_multicore.h
Branch: mutation
Log Message:

test case for combination of join and select


diffs (113 lines):

diff --git a/monetdb5/scheduler/Tests/20Runs400MB8MBJoinSelect.mal 
b/monetdb5/scheduler/Tests/20Runs400MB8MBJoinSelect.mal
new file mode 100644
--- /dev/null
+++ b/monetdb5/scheduler/Tests/20Runs400MB8MBJoinSelect.mal
@@ -0,0 +1,96 @@
+#Left table size 400MB right table size 8MB, 0% selectivity of subselect
+
+function initializeFirst{unsafe}():bat[:oid,:lng];
+        b:= bat.new(:oid,:lng,50000000:lng);
+       
+       tf0 := alarm.usec();
+        r:= mmath.srand(0);
+        barrier i:= 0:lng;
+                k:= mmath.rand();
+                l:= calc.lng(k);
+                bat.append(b,l);
+                redo i:= iterator.next(1:lng,50000000:lng);
+        exit i;
+
+       tf1 := alarm.usec();
+       tf := tf1 - tf0;
+       io.printf("\nbat creation time := %d \n",tf);
+
+        return b;
+end initializeFirst;
+
+function initializeNext{unsafe}():bat[:oid,:lng];
+        b:= bat.new(:oid,:lng);
+
+        r:= mmath.srand(0);
+        barrier i:= 0:lng;
+                k:= mmath.rand();
+                l:= calc.lng(k);
+                bat.append(b,l);
+                redo i:= iterator.next(1:lng,1000000:lng);
+        exit i;
+
+        return b;
+end initializeNext;
+
+
+function query(run:int, a:bat[:oid,:lng], b:bat[:oid,:lng]);
+        t0:= alarm.usec();
+
+        profiler.activate("ticks");
+        profiler.activate("thread");
+        profiler.activate("stmt");
+       profiler.activate("time");
+        profiler.setAll();
+        profiler.start();
+
+       s1:= nil:bat[:oid,:oid];
+        s2:= nil:bat[:oid,:oid];
+barrier z:= language.dataflow();
+        a1 := 
algebra.subselect(a,1:lng,999999999999999999:lng,true,false,false);
+       c1 := algebra.leftfetchjoin(a1, a);
+        (s1,s2) := algebra.join(c1,b);
+exit z;
+        t1:= alarm.usec();
+        t2 := t1-t0;
+        io.printf("%d   %d \n",run,t2);
+#        io.printf("#run %d %d\n",run,t2);
+        stmt:= profiler.getTrace("stmt");
+        ticks:= profiler.getTrace("ticks");
+        thread:= profiler.getTrace("thread");
+#      time1:= profiler.getTrace("time");
+#       io.print(time1,thread,ticks,stmt);
+#       io.print(thread,ticks,stmt);
+
+end query;
+
+optimizer.multicore("user","query");
+function testrun();
+
+        a:= initializeFirst();
+        bat.setReadMode(a);
+        b:= initializeNext();
+        bat.setReadMode(b);
+        user.query(0,a,b);
+        user.query(1,a,b);
+        user.query(2,a,b);
+        user.query(3,a,b);
+        user.query(4,a,b);
+        user.query(5,a,b);
+        user.query(6,a,b);
+        user.query(7,a,b);
+        user.query(8,a,b);
+        user.query(9,a,b);
+        user.query(10,a,b);
+        user.query(11,a,b);
+        user.query(12,a,b);
+        user.query(13,a,b);
+        user.query(14,a,b);
+        user.query(15,a,b);
+        user.query(16,a,b);
+        user.query(17,a,b);
+        user.query(18,a,b);
+        user.query(19,a,b);
+        user.query(20,a,b);
+end testrun;
+testrun();                                                                     
               
diff --git a/monetdb5/scheduler/run_multicore.h 
b/monetdb5/scheduler/run_multicore.h
--- a/monetdb5/scheduler/run_multicore.h
+++ b/monetdb5/scheduler/run_multicore.h
@@ -48,7 +48,7 @@ typedef struct MUTANT{
        int target;             // operation changed from previous
        struct MUTANT *next;
 } *Mutant;
-#define DEBUG_MULTICORE if(1)
+#define DEBUG_MULTICORE if(0)
 run_multicore_export str RUNmulticore(Client cntxt, MalBlkPtr mb, MalStkPtr 
stk, InstrPtr p);
 run_multicore_export void multicorePrint(Client cntxt, Mutant m);
 #endif /* MAL_RUN_MULTICORE */
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to