Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/15105 )
Change subject: WIP: Asynchronous code generation ...................................................................... Patch Set 5: (1 comment) http://gerrit.cloudera.org:8080/#/c/15105/1/be/src/runtime/fragment-instance-state.cc File be/src/runtime/fragment-instance-state.cc: http://gerrit.cloudera.org:8080/#/c/15105/1/be/src/runtime/fragment-instance-state.cc@360 PS1, Line 360: if (async_enabled && runtime_state_->is_interpretable()) { > I'm a little torn on this. On one hand, I really dislike random performance It is also possible to start the codegen async, and call a function like BeforeUsingCodegendFunctionsForTheFirstTime() in ExecNodes, and wait for codegen to be finished if there is a non-interpretable function. This would allow some overlap between codegen and regular ExecNode work. The way I see the benefits of async codegen is that Scanners always do some work before starting processing rows, e.g. read the initial scan ranges, process the metadata of files, read and process dictionaries/column indexes, start the scan ranges for columns. (hmm, just realized that dictionary filtering may actually need codegend functions). So in many cases async codegen will be actually finished before the first call to these functions. This seems a clear win scenario, while if we process a bunch of rows on the interpreted path then the CPU cost of the whole query is actually increased (of course finishing a bit earlier should usually worth it). -- To view, visit http://gerrit.cloudera.org:8080/15105 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia7cbfa7c6734dcf03641629429057d6a4194aa6b Gerrit-Change-Number: 15105 Gerrit-PatchSet: 5 Gerrit-Owner: Daniel Becker <daniel.bec...@cloudera.com> Gerrit-Reviewer: Bikramjeet Vig <bikramjeet....@cloudera.com> Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com> Gerrit-Reviewer: Daniel Becker <daniel.bec...@cloudera.com> Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Comment-Date: Wed, 05 Feb 2020 14:36:58 +0000 Gerrit-HasComments: Yes