Changeset: 15f7b4d40785 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=15f7b4d40785 Modified Files: gdk/gdk_hash.c gdk/gdk_join.c gdk/gdk_orderidx.c gdk/gdk_select.c Branch: leftmart Log Message:
IDXACCESS messeges diffs (124 lines): diff --git a/gdk/gdk_hash.c b/gdk/gdk_hash.c --- a/gdk/gdk_hash.c +++ b/gdk/gdk_hash.c @@ -268,7 +268,7 @@ BATcheckhash(BAT *b) ALGODEBUG fprintf(stderr, "#BATcheckhash: reusing persisted hash %s\n", BATgetId(b)); MT_lock_unset(&GDKhashLock(abs(b->batCacheid))); IDXACCESS fprintf(stderr, "[%d,%d]:%c (" BUNFMT ") #BATcheckhash: load persistent hash index (ms=" LLFMT - ")\n", b->batCacheid,-VIEWtparent(b), b->T->type, BATcount(b), GDKusec() - t); + ")\n", b->batCacheid,-VIEWtparent(b), h->type, BATcount(b), GDKusec() - t); return 1; } GDKfree(h); @@ -532,7 +532,7 @@ BAThash(BAT *b, BUN masksize) ALGODEBUG HASHcollisions(b, b->T->hash); } MT_lock_unset(&GDKhashLock(abs(b->batCacheid))); - IDXACCESS fprintf(stderr, "[%d,%d]:%c (" BUNFMT ") #BAThash: create hash index (ms=" LLFMT ")\n", b->batCacheid,-VIEWtparent(b), b->T->type, BATcount(b), t1 - t0); + IDXACCESS fprintf(stderr, "[%d,%d]:%d (" BUNFMT ") #BAThash: create hash index (ms=" LLFMT ")\n", b->batCacheid,-VIEWtparent(b), b->T->hash->type, BATcount(b), t1 - t0); return GDK_SUCCEED; } diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c --- a/gdk/gdk_join.c +++ b/gdk/gdk_join.c @@ -2733,6 +2733,8 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT * return nomatch(r1, r2, l, r, lstart, lend, lcand, lcandend, nil_on_miss, only_misses, "hashjoin", t0); + t0 = GDKusec(); + rl = BUNfirst(r); #ifndef DISABLE_PARENT_HASH if (VIEWtparent(r)) { @@ -3077,6 +3079,8 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT * r2 && r2->tdense ? "-dense" : "", r2 && r2->tkey & 1 ? "-key" : "", GDKusec() - t0); + IDXACCESS fprintf(stderr, "[%d,%d]:%d (" BUNFMT ") #hashjoin: hash join l=[%d,%d]:%d (" BUNFMT ") (ms=" LLFMT + ")\n", r->batCacheid,-VIEWtparent(r), r->ttype, BATcount(r), l->batCacheid,-VIEWtparent(l), l->ttype, BATcount(l), GDKusec() - t0); return GDK_SUCCEED; bailout: diff --git a/gdk/gdk_orderidx.c b/gdk/gdk_orderidx.c --- a/gdk/gdk_orderidx.c +++ b/gdk/gdk_orderidx.c @@ -93,7 +93,8 @@ BATcheckorderidx(BAT *b) close(fd); b->torderidx = hp; ALGODEBUG fprintf(stderr, "#BATcheckorderidx: reusing persisted orderidx %d\n", b->batCacheid); - IDXACCESS fprintf(stderr, "[%d] #BATcheckorderidx: loaded persistent order idx\n", b->batCacheid); + IDXACCESS fprintf(stderr, "[%d,%d]:%c (" BUNFMT ") #BATcheckorderidx: load persistent order index (ms=" LLFMT + ")\n", b->batCacheid,-VIEWtparent(b), b->ttype, BATcount(b), GDKusec() - t); MT_lock_unset(&GDKhashLock(abs(b->batCacheid))); return 1; } @@ -121,6 +122,7 @@ BATorderidx(BAT *b, int stable) const char *nme; oid seq; BUN p, q; + lng t0 = 0, t1 = 0; if (BATcheckorderidx(b)) return GDK_SUCCEED; @@ -129,6 +131,7 @@ BATorderidx(BAT *b, int stable) MT_lock_unset(&GDKhashLock(abs(b->batCacheid))); return GDK_SUCCEED; } + t0 = GDKusec(); nme = BBP_physical(b->batCacheid); nmelen = strlen(nme) + 12; if ((m = GDKzalloc(sizeof(Heap))) == NULL || @@ -200,10 +203,10 @@ BATorderidx(BAT *b, int stable) b->batDirtydesc = TRUE; b->torderidx = m; - + t1 = GDKusec(); MT_lock_unset(&GDKhashLock(abs(b->batCacheid))); - IDXACCESS fprintf(stderr, "[%d] #BATorderidx: created order idx\n", b->batCacheid); + IDXACCESS fprintf(stderr, "[%d,%d]:%d (" BUNFMT ") #BATorderidx: create order index (ms=" LLFMT ")\n", b->batCacheid,-VIEWtparent(b), b->ttype, BATcount(b), t1 - t0); return GDK_SUCCEED; } @@ -297,6 +300,7 @@ GDKmergeidx(BAT *b, BAT**a, int n_ar) size_t nmelen; oid *restrict mv; const char *nme = BBP_physical(b->batCacheid); + lng t0 = 0, t1 = 0; if (BATcheckorderidx(b)) return GDK_SUCCEED; @@ -305,6 +309,7 @@ GDKmergeidx(BAT *b, BAT**a, int n_ar) MT_lock_unset(&GDKhashLock(abs(b->batCacheid))); return GDK_SUCCEED; } + t0 = GDKusec(); nmelen = strlen(nme) + 12; if ((m = GDKzalloc(sizeof(Heap))) == NULL || (m->farmid = BBPselectfarm(b->batRole, b->ttype, orderidxheap)) < 0 || @@ -420,8 +425,9 @@ GDKmergeidx(BAT *b, BAT**a, int n_ar) b->batDirtydesc = TRUE; b->torderidx = m; + t1 = GDKusec(); MT_lock_unset(&GDKhashLock(abs(b->batCacheid))); - IDXACCESS fprintf(stderr, "[%d] #GDKmergeidx: merged order idx\n", b->batCacheid); + IDXACCESS fprintf(stderr, "[%d,%d]:%d (" BUNFMT ") #GDKmergeidx: merge order index (ms=" LLFMT ")\n", b->batCacheid,-VIEWtparent(b), b->ttype, BATcount(b), t1 - t0); return GDK_SUCCEED; } diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -1468,7 +1468,8 @@ BATselect(BAT *b, BAT *s, const void *tl } /* Is query selective enough to use the ordered index ? */ /* TODO: Test if this heuristic works in practice */ - if ((ORDERfnd(b, th) - ORDERfnd(b, tl)) < ((BUN)1000 < b->batCount/1000 ? (BUN)1000: b->batCount/1000)) + /*if ((ORDERfnd(b, th) - ORDERfnd(b, tl)) < ((BUN)1000 < b->batCount/1000 ? (BUN)1000: b->batCount/1000))*/ + if ((ORDERfnd(b, th) - ORDERfnd(b, tl)) < b->batCount/3) { use_orderidx = 1; if (view) { _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list