Changeset: 7f5da9aa9136 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7f5da9aa9136
Modified Files:
monetdb5/modules/mal/mal_weld.c
Branch: mal-weld
Log Message:
weld.group - don't compute the counts and the ids at the same times, the counts
might not be used
diffs (34 lines):
diff --git a/monetdb5/modules/mal/mal_weld.c b/monetdb5/modules/mal/mal_weld.c
--- a/monetdb5/modules/mal/mal_weld.c
+++ b/monetdb5/modules/mal/mal_weld.c
@@ -932,13 +932,17 @@ WeldGroup(Client cntxt, MalBlkPtr mb, Ma
" merge(b, 0L)"
" )"
");"
- "let idsAndCounts = for(zip(%s), {appender[i64], vecmerger[i64,
+](empty)}, |b, i, n|"
+ "let ids = for(zip(%s), appender[i64], |b, i, n|"
" let groupId = lookup(groupIdsDict, %s);"
- " {merge(b.$0, groupId), merge(b.$1, {groupId, 1L})}"
+ " merge(b, groupId)"
");"
- "let v%d = result(idsAndCounts.$0);"
+ "let counts = for(zip(%s), vecmerger[i64, +](empty), |b, i, n|"
+ " let groupId = lookup(groupIdsDict, %s);"
+ " merge(b, {groupId, 1L})"
+ ");"
+ "let v%d = result(ids);"
"let v%dhseqbase = 0;"
- "let v%d = result(idsAndCounts.$1);"
+ "let v%d = result(counts);"
"let v%dhseqbase = 0;"
"let v%d = result("
" for(groupHashVec, vecmerger[i64, +](empty), |b, i, n|"
@@ -946,7 +950,7 @@ WeldGroup(Client cntxt, MalBlkPtr mb, Ma
" )"
");"
"let v%dhseqbase = 0;",
- zipStmt, dictTypeStmt, dictKeyStmt, dictTypeStmt, zipStmt, dictKeyStmt,
groups, groups, histo, histo,
+ zipStmt, dictTypeStmt, dictKeyStmt, dictTypeStmt, zipStmt, dictKeyStmt,
zipStmt, dictKeyStmt, groups, groups, histo, histo,
extents, extents);
appendWeldStmt(wstate, weldStmt);
return MAL_SUCCEED;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list