From 07a3d23067d22cb3f459b9076d4e842b3a7bc671 Mon Sep 17 00:00:00 2001 From: Pierce Hayes Date: Thu, 14 Dec 2023 16:29:11 -0500 Subject: [PATCH] Closes #2886: Cap small strs groupby optimization This PR (closes #2886) caps strs for the small str optimization at 8 bytes since there was a drop off in our str groupby benchmarks This is because we currently have our small str optimization set to kick in at 16 bytes (which is how long the strings are in the multi-col str groupby benchmark) but this is the max number of bits we can have before we hit the totalDigits > 8 case, where we hash everything anyway. So these are all resulting in extra processing just to do what we were already doing --- src/AryUtil.chpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AryUtil.chpl b/src/AryUtil.chpl index 9b745bb4f0..a35b18839d 100644 --- a/src/AryUtil.chpl +++ b/src/AryUtil.chpl @@ -235,7 +235,7 @@ module AryUtil var allSmallStrs = true; var extraArraysNeeded = 0; var numStrings = 0; - const smallStrCap = 17; // one bigger to ignore null byte + const smallStrCap = 9; // one bigger to ignore null byte for (name, objtype, i) in zip(names, types, 1..) { var thisSize: int; select objtype.toUpper(): ObjType {