Changeset: 9e73552a35e1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9e73552a35e1 Modified Files: gdk/gdk_hash.c Branch: linear-hashing Log Message:
Improve debug prints. diffs (73 lines): diff --git a/gdk/gdk_hash.c b/gdk/gdk_hash.c --- a/gdk/gdk_hash.c +++ b/gdk/gdk_hash.c @@ -133,8 +133,7 @@ doHASHdestroy(BAT *b, Hash *hs) hp = BBP_cache(p); if (!hp || hs != hp->thash) { - ACCELDEBUG if (*(size_t *) hs->heapbckt.base & (1 << 24)) - fprintf(stderr, "#%s: HASHdestroy(" ALGOBATFMT "): removing persisted hash\n", MT_thread_getname(), ALGOBATPAR(b)); + ACCELDEBUG fprintf(stderr, "#%s: HASHdestroy(" ALGOBATFMT "): removing%s hash\n", MT_thread_getname(), ALGOBATPAR(b), *(size_t *) hs->heapbckt.base & (1 << 24) ? " persisted" : ""); HEAPfree(&hs->heapbckt, true); HEAPfree(&hs->heaplink, true); GDKfree(hs); @@ -191,7 +190,7 @@ HASHnew(Hash *h, int tpe, BUN size, BUN /* collect HASH statistics for analysis */ static void -HASHcollisions(BAT *b, Hash *h) +HASHcollisions(BAT *b, Hash *h, const char *func) { lng cnt, entries = 0, max = 0; double total = 0; @@ -211,10 +210,10 @@ HASHcollisions(BAT *b, Hash *h) total += cnt; } fprintf(stderr, - "#%s: BAThash(" ALGOBATFMT "): statistics " BUNFMT ", " + "#%s: %s(" ALGOBATFMT "): statistics " BUNFMT ", " "entries " LLFMT ", nunique " BUNFMT ", nbuckets " BUNFMT ", " "max " LLFMT ", avg %2.6f;\n", - MT_thread_getname(), ALGOBATPAR(b), BATcount(b), entries, + MT_thread_getname(), func, ALGOBATPAR(b), BATcount(b), entries, h->nunique, NHASHBUCKETS(h), max, entries == 0 ? 0 : total / entries); } @@ -393,7 +392,7 @@ HASHgrowbucket(BAT *b) " -> " BUNFMT " buckets (" LLFMT " usec)\n", MT_thread_getname(), __func__, ALGOBATPAR(b), onbucket, NHASHBUCKETS(h), GDKusec() - t0); - HASHcollisions(b, h); + HASHcollisions(b, h, __func__); } return GDK_SUCCEED; } @@ -741,6 +740,8 @@ BAThash_impl(BAT *b, BAT *s, const char o = canditer_next(&ci); /* always one ahead */ for (;;) { + lng t1 = 0; + ACCELDEBUG t1 = GDKusec(); BUN maxslots = (mask >> 3) - 1; /* 1/8 full is too full */ h->nheads = 0; @@ -810,8 +811,8 @@ BAThash_impl(BAT *b, BAT *s, const char } ACCELDEBUG if (p < cnt1) fprintf(stderr, "#%s: BAThash(%s): abort starthash with " - "mask " BUNFMT " at " BUNFMT "\n", MT_thread_getname(), BATgetId(b), - mask, p); + "mask " BUNFMT " at " BUNFMT " after " LLFMT " usec\n", MT_thread_getname(), BATgetId(b), + mask, p, GDKusec() - t1); if (p == cnt1 || mask == maxmask) break; mask <<= 2; @@ -881,7 +882,7 @@ BAThash_impl(BAT *b, BAT *s, const char } ACCELDEBUG { fprintf(stderr, "#%s: BAThash: hash construction " LLFMT " usec\n", MT_thread_getname(), GDKusec() - t0); - HASHcollisions(b, h); + HASHcollisions(b, h, __func__); } return h; } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list