Changeset: c92cb164b9e6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c92cb164b9e6
Modified Files:
        gdk/gdk_select.c
Branch: Oct2014
Log Message:

Avoid binary search in dense candidate list.


diffs (19 lines):

diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -192,6 +192,15 @@ BAT_hashselect(BAT *b, BAT *s, BAT *bn, 
                l = BUNfirst(b);
                h = BUNlast(b);
        }
+       if (s && BATtdense(s)) {
+               /* no need for binary search in s, we just adjust the
+                * boundaries */
+               if (s->tseqbase > seq)
+                       l += s->tseqbase - seq;
+               if (s->tseqbase + BATcount(s) < seq + (h - l))
+                       h -= seq + BATcount(b) - (s->tseqbase + BATcount(s));
+               s = NULL;
+       }
        b = BATmirror(b);       /* BATprepareHash works on HEAD column */
        if (BATprepareHash(b)) {
                BBPreclaim(bn);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to