You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "Michael Smith (Jira)" <ji...@apache.org> on 2023/09/15 18:15:00 UTC

[jira] [Assigned] (IMPALA-12390) Enable performance related clang-tidy checks

     [ https://issues.apache.org/jira/browse/IMPALA-12390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Smith reassigned IMPALA-12390:
--------------------------------------

    Assignee: Joe McDonnell  (was: Michael Smith)

> Enable performance related clang-tidy checks
> --------------------------------------------
>
>                 Key: IMPALA-12390
>                 URL: https://issues.apache.org/jira/browse/IMPALA-12390
>             Project: IMPALA
>          Issue Type: Improvement
>          Components: Backend
>    Affects Versions: Impala 4.3.0
>            Reporter: Joe McDonnell
>            Assignee: Joe McDonnell
>            Priority: Major
>             Fix For: Impala 4.3.0
>
>
> clang-tidy has several performance-related checks that seem like they would be useful to enforce. Here are some examples:
> {noformat}
> /home/joemcdonnell/upstream/Impala/be/src/runtime/types.h:313:25: warning: loop variable is copied but only used as const reference; consider making it a const reference [performance-for-range-copy]
>         for (ColumnType child_type : col_type.children) {
>              ~~~~~~~~~~ ^
>              const &
> /home/joemcdonnell/upstream/Impala/be/src/catalog/catalog-util.cc:168:34: warning: 'find' called with a string literal consisting of a single character; consider using the more effective overload accepting a character [performance-faster-string-find]
>       int pos = object_name.find(".");
>                                  ^~~~
>                                  '.'
> /home/joemcdonnell/upstream/Impala/be/src/util/decimal-util.h:55:53: warning: the parameter 'b' is copied for each invocation but only used as a const reference; consider making it a const reference [performance-unnecessary-value-param]
>   static int256_t SafeMultiply(int256_t a, int256_t b, bool may_overflow) {
>                                            ~~~~~~~~ ^
>                                            const &
> /home/joemcdonnell/upstream/Impala/be/src/codegen/llvm-codegen.cc:847:5: warning: 'push_back' is called inside a loop; consider pre-allocating the vector capacity before the loop [performance-inefficient-vector-operation]
>     arguments.push_back(args_[i].type);
>     ^{noformat}
> In all, they seem to flag things that developers wouldn't ordinarily notice, and it doesn't seem to have too many false positives. We should look into enabling these.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org