Daniel Becker has posted comments on this change. ( http://gerrit.cloudera.org:8080/20733 )
Change subject: IMPALA-11805: Use llvm ObjectCache for codegen caching ...................................................................... Patch Set 3: (12 comments) Couldn't go through all of it yet, here are some comments. http://gerrit.cloudera.org:8080/#/c/20733/3//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/20733/3//COMMIT_MSG@12 PS3, Line 12: and it is very hard to predict I think this should come before "which largely exceeds...", because "which largely exceeds..." refers to "uses a lot of memory". http://gerrit.cloudera.org:8080/#/c/20733/3//COMMIT_MSG@17 PS3, Line 17: ( Nit: space before '('. Could you clarify the relationship of the module and exec engine here? http://gerrit.cloudera.org:8080/#/c/20733/3//COMMIT_MSG@18 PS3, Line 18: pre-compiled : functions Do you mean the codegened functions? First I thought it referred to the functions compiled from C++ to IR, maybe it could be clarified. See also L21. http://gerrit.cloudera.org:8080/#/c/20733/3//COMMIT_MSG@28 PS3, Line 28: +----------+----------+-----------------------+--------+-------------+------------+-----------+----------------+-------+----------------+---------+-------+ Could you also include the aggregate result over all queries? http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache-test.cc File be/src/codegen/llvm-codegen-cache-test.cc: http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache-test.cc@99 PS3, Line 99: string*, bool We could include the parameter names here and on the next line if 'codegen' is included... I can see that on L101 the name of the 'Function**' parameter is omitted, but on L98 all names are included. This should be uniform, I think the best would be to add the name on L101 too. http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache-test.cc@115 PS3, Line 115: engine Maybe 'cached_engine' would be better, also on L117. http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache-test.cc@132 PS3, Line 132: obj_cache_ I'd prefer something like 'codegen_obj_cache_', it's easier to get what it is just by looking at the name. http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache-test.cc@138 PS3, Line 138: string& Could it be const? http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache-test.cc@142 PS3, Line 142: NULL Could use 'nullptr' instead. http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache-test.cc@225 PS3, Line 225: module_id 'module_id_echo' would be better, cf. 'module_id_double'. http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache.h File be/src/codegen/llvm-codegen-cache.h: http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache.h@231 PS3, Line 231: engine_cache_ptr Maybe 'engine_cache_raw[_ptr]' would be better. Also, in the .cc file, the parameter names of this function have not been updated, please update them. http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache.cc File be/src/codegen/llvm-codegen-cache.cc: http://gerrit.cloudera.org:8080/#/c/20733/3/be/src/codegen/llvm-codegen-cache.cc@154 PS3, Line 154: Slice key = cache_key.optimal_key_slice(); The assignment could be made in an IF-ELSE (or a ? : operator). Now we get/calculate the optimal key slice even in non-optimal mode. -- To view, visit http://gerrit.cloudera.org:8080/20733 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic3c1b46bb9018ed0320817141785a3bdc41fa677 Gerrit-Change-Number: 20733 Gerrit-PatchSet: 3 Gerrit-Owner: Yida Wu <[email protected]> Gerrit-Reviewer: Daniel Becker <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Yida Wu <[email protected]> Gerrit-Comment-Date: Thu, 30 Nov 2023 16:19:21 +0000 Gerrit-HasComments: Yes
