Changeset: 2e33639ce402 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/2e33639ce402
Modified Files:
gdk/gdk_strimps.h
monetdb5/modules/mal/pcre.c
Branch: string_imprints
Log Message:
Do not create strimps for small bats
diffs (32 lines):
diff --git a/gdk/gdk_strimps.h b/gdk/gdk_strimps.h
--- a/gdk/gdk_strimps.h
+++ b/gdk/gdk_strimps.h
@@ -15,6 +15,7 @@
#define STRIMP_VERSION (uint64_t)1
#define STRIMP_HISTSIZE 256*256
#define STRIMP_HEADER_SIZE 64
+#define STRIMP_CREATION_THRESHOLD 5000 /* do not create strimp for "small"
BATs */
typedef struct {
uint8_t *pbytes;
diff --git a/monetdb5/modules/mal/pcre.c b/monetdb5/modules/mal/pcre.c
--- a/monetdb5/modules/mal/pcre.c
+++ b/monetdb5/modules/mal/pcre.c
@@ -1886,13 +1886,14 @@ PCRElikeselect(bat *ret, const bat *bid,
assert(ATOMstorage(b->ttype) == TYPE_str);
- if (use_strimps) {
+ if (use_strimps && BATcount(b) >= STRIMP_CREATION_THRESHOLD) {
if (STRMPcreate(b, NULL) == GDK_SUCCEED) {
BAT *tmp_s;
tmp_s = STRMPfilter(b, s, *pat);
- if(s)
+ if (tmp_s && s) {
BBPunfix(s->batCacheid);
- s = tmp_s;
+ s = tmp_s;
+ }
} /* If we cannot create the strimp just continue normally */
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list