Update of /cvsroot/monetdb/MonetDB5/src/mal
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv19240
Modified Files:
mal_recycle.mx
Log Message:
use BBPquickdesc ipv BATdescriptor (reduces need for locks)
Index: mal_recycle.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/mal/mal_recycle.mx,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- mal_recycle.mx 10 Mar 2008 16:07:14 -0000 1.25
+++ mal_recycle.mx 10 Mar 2008 19:32:49 -0000 1.26
@@ -365,34 +365,27 @@
nbid=getVarConstant(recycleBlk,
getArg(q,0)).val.bval;
if( bid == -1){
bid = nbid;
- pc= i;
- b1= BATdescriptor(bid);
- BBPkeepref(bid);
+ pc = i;
#ifdef _DEBUG_RECYCLE_
- printf("counts %d -> %d \n", bid,
(int)BATcount(b1));
+ b1= BBPquickdesc(bid, FALSE);
+ printf("counts %d -> %d \n", bid, (int)BATcount(b1));
#endif
} else {
- b1= BATdescriptor(bid);
- b2= BATdescriptor(nbid);
+ b1 = BBPquickdesc(bid, FALSE);
+ b2 = BBPquickdesc(nbid, FALSE);
#ifdef _DEBUG_RECYCLE_
- printf("counts %d -> %d %d ->
%d\n",
- bid, (int)BATcount(b1),
nbid, (int)BATcount(b2));
+ printf("counts %d -> %d %d -> %d\n",
+ bid, (int)BATcount(b1), nbid, (int)BATcount(b2));
#endif
- if( BATcount(b1) >
BATcount(b2)){
- BBPreleaseref(bid);
- BBPreleaseref(bid);
- BBPkeepref(nbid);
- bid= nbid;
- pc= i;
- } else {
- BBPreleaseref(bid);
- BBPreleaseref(nbid);
+ if (BATcount(b1) >
BATcount(b2)){
+ bid = nbid;
+ pc = i;
}
}
#ifdef _DEBUG_RECYCLE_
- printf("Inclusive range bid=%d\n", bid);
- printInstruction(GDKout,recycleBlk,q,
LIST_MAL_ALL);
+ printf("Inclusive range bid=%d\n", bid);
+ printInstruction(GDKout,recycleBlk,q, LIST_MAL_ALL);
#endif
}
}
@@ -423,6 +416,7 @@
if( bid >=0){
/* replace selection argument */
s->stk[getArg(p,1)].val.bval= bid;
+ BBPincref(bid, TRUE);
recycleBlk->profiler[pc].counter++;
}
return 0;
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins