mirror of
https://github.com/apache/impala.git
synced 2025-12-19 18:12:08 -05:00
6649b92cb2fe1d90b537af19b9fb76afcc473fbf
14 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
1f473f365a |
IMPALA-12390 (part 4): Enable unnecessary-value-param
Enables the clang-tidy performance-unnecessary-value-param check and fixes any issues found with run_clang_tidy.sh. Updates based on how values are used: - constructors and functions that take ownership of a value accept by value and move into place to efficiently handle literal values - others take a const& of the value GetUsernameFromBasicAuthHeader was updated to make a copy closer to where it's needed, rather than relying on the caller setting it up. Updates CodegenNullPhiNode to use its 'name' parameter. Only impacts two calls in filter-context.cc. Change-Id: I8aa5d98596d82f615a0a728e0235e7dd9d8b5003 Reviewed-on: http://gerrit.cloudera.org:8080/20494 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> |
||
|
|
befa93ffa6 |
IMPALA-12730: Don't use -Weverything for clang-tidy
For current clang-tidy builds, we enable -Weverything and then explicitly disable a couple verbose warnings. Clang-tidy uses these warnings to produce its clang-diagnostic-* issues. This gives clang-tidy the maximum flexibility to enforce any warning the Clang can produce, but in practice, we disable them via the .clang-tidy file's Checks: section. The output from a -Weverything build is enormous and hard to navigate. When there is a compilation issue, digging through the logs is arduous. Clang discourages the use of -Weverything, as it contains many noisy warnings. This changes the clang-tidy build to use -Wextra instead and shrinks the list of disabled clang-diagnostic-* issues accordingly. Testing: - Verified that bin/run_clang_tidy.sh passes Change-Id: Ib4f4cc9a6d040b90495496b2396a26f3c5189231 Reviewed-on: http://gerrit.cloudera.org:8080/21112 Reviewed-by: Michael Smith <michael.smith@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> |
||
|
|
dd8ddf77c3 |
IMPALA-12668: Enable clang-tidy checks for implicit fallthrough
In switch/case statements, one case can fallthrough to the next case. Sometimes this is intentional, but it is also a common source of bugs (i.e. a missing break/return statement). Clang-Tidy's clang-diagnostic-implicit-fallthrough flags locations where a case falls through to the next case without an explicit fallthrough declaration. This change enables clang-diagnostic-implicit-fallthrough and fixes failing locations. Since Impala uses C++17, this uses C++17's [[fallthrough]] to indicate an explicit fallthrough. This also adjusts clang-tidy's output to suggest [[fallthrough]] as the preferred way to indicate fallthrough. Testing: - Ran core job - Ran clang tidy Change-Id: I6d65c92b442fa0317c3af228997571e124a54092 Reviewed-on: http://gerrit.cloudera.org:8080/20847 Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Reviewed-by: Zihao Ye <eyizoha@163.com> Reviewed-by: Michael Smith <michael.smith@cloudera.com> |
||
|
|
4d15558b5e |
IMPALA-12390 (part3): Enable unnecessary-copy-initialization
Enables the clang-tidy performance-unnecessary-copy-initialization check and fixes any issues found with run_clang_tidy.sh. Change-Id: I217df2598b21551fe21099c2caa5a39865010c20 Reviewed-on: http://gerrit.cloudera.org:8080/20492 Reviewed-by: Joe McDonnell <joemcdonnell@cloudera.com> Tested-by: Michael Smith <michael.smith@cloudera.com> |
||
|
|
3614a6a776 |
IMPALA-12390 (part 2): Enable some clang-tidy performance related checks
This enables the clang tidy performance check: performance-inefficient-string-concatenation "warning: string concatenation results in allocation of unnecessary temporary strings" Fix: Use StrCat() to concatenate multiple strings Testing: - Ran bin/run_clang_tidy.sh with the new checks - Ran GVO Change-Id: Ibad8bd0f12aab92ad874f5a6b9ec922dce7f3190 Reviewed-on: http://gerrit.cloudera.org:8080/20445 Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> |
||
|
|
f563cce6b8 |
IMPALA-12390 (part 1): Enable some clang-tidy performance related checks
This enables several Clang Tidy performance checks and fixes
the flagged code locations. The specific checks enabled are:
1. performance-faster-string-find
"warning: 'find' called with a string literal consisting of a
single character; consider using the more effective overload
accepting a character"
Fix: Use char literals rather than string literals
2. performance-for-range-copy
"warning: loop variable is copied but only used as const reference;
consider making it a const reference"
Fix: Use const & for some locations of auto
3. performance-implicit-cast-in-loop
"warning: the type of the loop variable '$VAR' is different from
the one returned by the iterator and generates an implicit cast;
you can either change the type to the correct one ('$TYPE' but
'const auto&' is always an option) or remove the reference to make
it explicit that you are creating a new value"
Fix: Use the right type or const auto&
4. performance-inefficient-vector-operation
"warning: 'push_back' is called inside a loop; consider pre-allocating
the vector capacity before the loop"
Fix: Call reserve() on the vector before the loop
5. performance-type-promotion-in-math-fn - not encountered in our code
This disables a few performance checks temporarily to keep the
change a reasonable size.
Testing:
- Ran bin/run_clang_tidy.sh with the new checks
- Ran GVO
Change-Id: I3d5dfe04ffb4ec6f156e268c31a356651410ce91
Reviewed-on: http://gerrit.cloudera.org:8080/20387
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Reviewed-by: Michael Smith <michael.smith@cloudera.com>
|
||
|
|
5d0a2f01a5 |
IMPALA-12372: Only use -Wno-deprecated-declaration for OpenSSL3
Redhat 9 and Ubuntu 22.04 both use OpenSSL3, which deprecated several APIs that we use. To support those platforms, we added the -Wno-deprecated-declaration to the build. Historically, the Impala build has also specified -Wno-deprecated due to use of deprecated headers in gutils. These flags limit our ability to notice use of deprecated code in other parts of the code. The code in gutils no longer requires -Wno-deprecated, so this removes it completely. Additionally, this limits the -Wno-deprecated-declaration flag to machines using OpenSSL 3. Reenabling deprecation warnings also reenables Clang Tidy's clang-diagnostic-deprecated enforcement. This is currently broken, so this turns off clang-diagnostic-deprecated until it can be addressed properly. Testing: - Ran build-all-options on Ubuntu 22 and Ubuntu 16 - Ran a Rocky 9.2 build Change-Id: I1b36450d084f342eeab5dac2272580ab6b0c988b Reviewed-on: http://gerrit.cloudera.org:8080/20369 Reviewed-by: Laszlo Gaal <laszlo.gaal@cloudera.com> Reviewed-by: Zoltan Borok-Nagy <boroknagyz@cloudera.com> Tested-by: Joe McDonnell <joemcdonnell@cloudera.com> |
||
|
|
13fbe510c0 |
IMPALA-9838: Switch to GCC 7.5.0
This upgrades GCC and libstdc++ to version 7.5.0. There
have been ABI changes since 4.9.2, so this means that
the native-toolchain produced with the new compiler is
not interoperable with one produced by the old compiler.
To allow that transition, IMPALA_TOOLCHAIN_PACKAGES_HOME
is now a subdirectory of IMPALA_TOOLCHAIN
(toolchain-packages-gcc${IMPALA_GCC_VERSION}) to distinguish
it from the old packages.
Some Python packages in the impala-python virtualenv are
compiled using the toolchain GCC and now use the new ABI.
This leads to two changes:
1. When constructing the LD_LIBRARY_PATH for impala-python,
we include the GCC libstdc++ libraries. Otherwise, certain
Python packages that use C++ fail on older OSes like Centos 7.
This fixes IMPALA-9804.
2. Since developers work on various branches, this changes
the virtualenv's directory location to a directory with
the GCC version in the name. This allows the virtualenv
built with GCC 7 to coexist with the current virtualenv
built with GCC 4.9.2. The location for the old virtualenv is
${IMPALA_HOME}/infra/python/env. The new location is
${IMPALA_HOME}/infra/python/env-gcc${IMPALA_GCC_VERSION}. This
required updating several impala-python scripts.
There are various odds-and-ends related to the transition:
1. Due to the small string optimization, the size of std::string
changed, which means that various data structures also changed
in size. This required updating some static asserts.
2. There is a bug in clang-tidy that reports a use-after-free
for some code using std::shared_ptr. Clang is not modeling
the shared_ptr correctly, so it is a false-positive. As a workaround,
this disables the clang-analyzer-cplusplus.NewDelete diagnostic.
3. Various small compilation fixes (includes, etc).
Performance testing:
- Ran single-node performance tests on TPC-H for the following
configurations:
- TPC-H Parquet scale 30 with normal configurations
- TPC-H Parquet scale 30 with codegen disabled
- TPC-H Kudu scale 10
None found any significant regressions. Full results are
posted on the JIRA.
- Ran single-node performance tests on targeted-perf scale 10.
No significant regressions.
- The size of binaries (impalad, etc) is slightly smaller with the new GCC:
GCC 4.9.2 release impalad binary: 545664
GCC 7.5.0 release impalad binary: 539900
- Compilation in DEBUG mode is roughly 15-25% faster
Functional testing:
- Ran core jobs, exhaustive release jobs, UBSAN
Change-Id: Ia0beb2b618ba669c9699f8dbc0c52d1203d004e4
Reviewed-on: http://gerrit.cloudera.org:8080/16045
Reviewed-by: Joe McDonnell <joemcdonnell@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
|
||
|
|
cf224f8461 |
IMPALA-9128: part 2: dump traces for slow RPCs
This adds trace events for data stream RPCs and
dumps them when they take longer than
--impala_slow_rpc_threshold_ms.
I needed to modify the KRPC code to do this because it
currently only dumps traces for RPCs with deadlines.
I plan to add some version of this upstream in Kudu
so that we don't diverge our KRPC implementation.
Example output from test_exchange_small_buffer:
I1111 08:38:53.732910 26509 rpcz_store.cc:265] Call impala.DataStreamService.TransmitData from 127.0.0.1:42434 (request call id 43) took 7799ms. Request Metrics: {}
I1111 08:38:53.732928 26509 rpcz_store.cc:269] Trace:
1111 08:38:45.933412 (+ 0us) impala-service-pool.cc:167] Inserting onto call queue
1111 08:38:45.933449 (+ 37us) impala-service-pool.cc:254] Handling call
1111 08:38:45.933470 (+ 21us) krpc-data-stream-mgr.cc:227] Added early sender
1111 08:38:47.906542 (+1973072us) krpc-data-stream-recvr.cc:327] Enqueuing deferred RPC
1111 08:38:53.732858 (+5826316us) krpc-data-stream-recvr.cc:506] Processing deferred RPC
1111 08:38:53.732860 (+ 2us) krpc-data-stream-recvr.cc:399] Deserializing batch
1111 08:38:53.732888 (+ 28us) krpc-data-stream-recvr.cc:426] Enqueuing deserialized batch
1111 08:38:53.732895 (+ 7us) inbound_call.cc:162] Queueing success response
Disabled +-clang-diagnostic-gnu-zero-variadic-macro-arguments because it
had false positives on the TRACE_TO invocations.
Testing:
* Ran exhaustive and ASAN tests
* Ran stress test
Change-Id: Ic7af4b45c43ec731d742d3696112c5f800849947
Reviewed-on: http://gerrit.cloudera.org:8080/14668
Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
|
||
|
|
95a1da2d32 |
IMPALA-8578: part 2: move metrics code to .cc files
This moves a lot of metric function definitions into .cc files, to reduce the size of compilation units and to reduce the frequency of recompilation required when making changes to metrics. This moves most of the large, non-perf-critical metric functions into .cc files. For template classes, this requires explicitly instantiating all combinations of template parameters that are used in impala, including in tests. Disable weak-template-vtables warning because of spurious warnings on template instantiations. See https://bugs.llvm.org/show_bug.cgi?id=18733 Change-Id: I78ad045ded6e6a7b7524711be9302c26115b97b9 Reviewed-on: http://gerrit.cloudera.org:8080/13501 Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> |
||
|
|
cb0f8a0ada |
IMPALA-3675: part 1: -Werror for ASAN
This fixes some clang warnings and enables -Werror going forward for ASAN. It adds -Wno-return-type-c-linkage to suppress a warning that otherwise would fail the build. It also enables the mismatched tags check and fixes the various instances of it (this warning is irritating for YouCompleteMe users). Change-Id: If83ca41cde49fd6cfde479e45f9cfdd9e3a45bec Reviewed-on: http://gerrit.cloudera.org:8080/11002 Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com> |
||
|
|
1e63ff8431 |
IMPALA-5860: upgrade to LLVM 3.9.1
LLVM made a few API changes: * Misc minor changes to function and type signatures * The CloneFunction() API changed semantics (http://reviews.llvm.org/D18628) Needed to fix a few new clang-tidy warnings. Testing: Ran core and ASAN tests. Perf: Ran single node TPC-H and targeted perf with scale factor 60. Both improved on average. +----------+-----------------------+---------+------------+------------+----------------+ | Workload | File Format | Avg (s) | Delta(Avg) | GeoMean(s) | Delta(GeoMean) | +----------+-----------------------+---------+------------+------------+----------------+ | TPCH(60) | parquet / none / none | 17.82 | -5.01% | 11.64 | -4.23% | +----------+-----------------------+---------+------------+------------+----------------+ +----------+----------+-----------------------+--------+-------------+------------+------------+----------------+-------------+-------+ | Workload | Query | File Format | Avg(s) | Base Avg(s) | Delta(Avg) | StdDev(%) | Base StdDev(%) | Num Clients | Iters | +----------+----------+-----------------------+--------+-------------+------------+------------+----------------+-------------+-------+ | TPCH(60) | TPCH-Q1 | parquet / none / none | 27.97 | 27.59 | +1.36% | 0.39% | 0.41% | 1 | 5 | | TPCH(60) | TPCH-Q20 | parquet / none / none | 5.81 | 5.78 | +0.44% | 0.73% | 0.21% | 1 | 5 | | TPCH(60) | TPCH-Q21 | parquet / none / none | 62.98 | 62.98 | +0.01% | 5.56% | 1.07% | 1 | 5 | | TPCH(60) | TPCH-Q15 | parquet / none / none | 8.45 | 8.46 | -0.20% | 0.40% | 0.38% | 1 | 5 | | TPCH(60) | TPCH-Q4 | parquet / none / none | 5.57 | 5.59 | -0.41% | 0.43% | 0.80% | 1 | 5 | | TPCH(60) | TPCH-Q6 | parquet / none / none | 3.16 | 3.17 | -0.45% | 0.78% | 1.70% | 1 | 5 | | TPCH(60) | TPCH-Q5 | parquet / none / none | 7.41 | 7.47 | -0.92% | 0.71% | 1.06% | 1 | 5 | | TPCH(60) | TPCH-Q9 | parquet / none / none | 33.45 | 33.78 | -0.99% | 1.15% | 0.85% | 1 | 5 | | TPCH(60) | TPCH-Q11 | parquet / none / none | 2.00 | 2.03 | -1.34% | 1.71% | 2.24% | 1 | 5 | | TPCH(60) | TPCH-Q2 | parquet / none / none | 4.71 | 4.79 | -1.60% | 1.49% | 1.95% | 1 | 5 | | TPCH(60) | TPCH-Q18 | parquet / none / none | 46.48 | 47.71 | -2.58% | 1.04% | 0.38% | 1 | 5 | | TPCH(60) | TPCH-Q14 | parquet / none / none | 5.85 | 6.02 | -2.84% | 0.44% | 0.70% | 1 | 5 | | TPCH(60) | TPCH-Q22 | parquet / none / none | 6.51 | 6.76 | -3.71% | 2.29% | 2.42% | 1 | 5 | | TPCH(60) | TPCH-Q19 | parquet / none / none | 7.27 | 7.63 | -4.69% | 1.33% | 0.78% | 1 | 5 | | TPCH(60) | TPCH-Q10 | parquet / none / none | 13.19 | 13.84 | -4.73% | 0.42% | 1.44% | 1 | 5 | | TPCH(60) | TPCH-Q13 | parquet / none / none | 21.95 | 23.12 | -5.03% | 0.25% | 1.19% | 1 | 5 | | TPCH(60) | TPCH-Q16 | parquet / none / none | 5.29 | 5.57 | -5.04% | 0.85% | 0.78% | 1 | 5 | | TPCH(60) | TPCH-Q7 | parquet / none / none | 42.05 | 44.33 | -5.16% | 2.07% | 2.28% | 1 | 5 | | TPCH(60) | TPCH-Q12 | parquet / none / none | 19.77 | 21.00 | -5.87% | 8.14% | 5.09% | 1 | 5 | | TPCH(60) | TPCH-Q3 | parquet / none / none | 11.46 | 12.32 | -6.94% | 0.76% | 0.53% | 1 | 5 | | TPCH(60) | TPCH-Q17 | parquet / none / none | 40.09 | 49.28 | -18.64% | 2.09% | 0.67% | 1 | 5 | | TPCH(60) | TPCH-Q8 | parquet / none / none | 10.63 | 13.47 | I -21.08% | * 12.34% * | * 21.09% * | 1 | 5 | +----------+----------+-----------------------+--------+-------------+------------+------------+----------------+-------------+-------+ +-------------------+-----------------------+---------+------------+------------+----------------+ | Workload | File Format | Avg (s) | Delta(Avg) | GeoMean(s) | Delta(GeoMean) | +-------------------+-----------------------+---------+------------+------------+----------------+ | TARGETED-PERF(60) | parquet / none / none | 22.38 | -1.24% | 4.17 | +0.81% | +-------------------+-----------------------+---------+------------+------------+----------------+ +-------------------+--------------------------------------------------------+-----------------------+--------+-------------+------------+------------+----------------+-------------+-------+ | Workload | Query | File Format | Avg(s) | Base Avg(s) | Delta(Avg) | StdDev(%) | Base StdDev(%) | Num Clients | Iters | +-------------------+--------------------------------------------------------+-----------------------+--------+-------------+------------+------------+----------------+-------------+-------+ | TARGETED-PERF(60) | primitive_conjunct_ordering_1 | parquet / none / none | 0.12 | 0.10 | R +22.38% | 0.81% | * 27.26% * | 1 | 5 | | TARGETED-PERF(60) | primitive_groupby_decimal_highndv | parquet / none / none | 29.86 | 25.46 | +17.31% | 6.18% | 3.83% | 1 | 5 | | TARGETED-PERF(60) | PERF_LIMIT-Q1 | parquet / none / none | 0.01 | 0.01 | +13.41% | * 15.35% * | 2.95% | 1 | 5 | | TARGETED-PERF(60) | primitive_filter_bigint_non_selective | parquet / none / none | 0.88 | 0.82 | +7.17% | 9.52% | 3.59% | 1 | 5 | | TARGETED-PERF(60) | primitive_filter_decimal_non_selective | parquet / none / none | 1.48 | 1.41 | +4.94% | 4.23% | 1.86% | 1 | 5 | | TARGETED-PERF(60) | primitive_small_join_1 | parquet / none / none | 0.18 | 0.18 | +4.26% | * 11.92% * | 2.43% | 1 | 5 | | TARGETED-PERF(60) | primitive_broadcast_join_3 | parquet / none / none | 7.29 | 7.03 | +3.77% | 5.98% | 9.35% | 1 | 5 | | TARGETED-PERF(60) | primitive_exchange_broadcast | parquet / none / none | 38.41 | 37.02 | +3.77% | 8.59% | 1.31% | 1 | 5 | | TARGETED-PERF(60) | PERF_AGG-Q6 | parquet / none / none | 1.93 | 1.89 | +2.14% | 2.22% | 1.75% | 1 | 5 | | TARGETED-PERF(60) | primitive_conjunct_ordering_2 | parquet / none / none | 7.26 | 7.17 | +1.29% | 2.28% | 4.54% | 1 | 5 | | TARGETED-PERF(60) | PERF_STRING-Q1 | parquet / none / none | 2.79 | 2.75 | +1.28% | 0.52% | 0.76% | 1 | 5 | | TARGETED-PERF(60) | PERF_STRING-Q3 | parquet / none / none | 3.51 | 3.47 | +1.01% | 0.63% | 0.57% | 1 | 5 | | TARGETED-PERF(60) | primitive_filter_string_selective | parquet / none / none | 1.05 | 1.04 | +0.76% | 3.03% | 2.40% | 1 | 5 | | TARGETED-PERF(60) | primitive_orderby_bigint | parquet / none / none | 4.88 | 4.84 | +0.75% | 0.58% | 0.97% | 1 | 5 | | TARGETED-PERF(60) | primitive_top-n_all | parquet / none / none | 38.56 | 38.28 | +0.73% | 0.20% | 0.24% | 1 | 5 | | TARGETED-PERF(60) | primitive_orderby_all | parquet / none / none | 25.68 | 25.54 | +0.55% | 0.27% | 0.40% | 1 | 5 | | TARGETED-PERF(60) | primitive_shuffle_join_union_all_with_groupby | parquet / none / none | 54.02 | 53.74 | +0.53% | 0.35% | 0.23% | 1 | 5 | | TARGETED-PERF(60) | PERF_STRING-Q5 | parquet / none / none | 4.28 | 4.26 | +0.43% | 0.68% | 0.47% | 1 | 5 | | TARGETED-PERF(60) | primitive_empty_build_join_1 | parquet / none / none | 16.25 | 16.19 | +0.42% | 0.33% | 0.42% | 1 | 5 | | TARGETED-PERF(60) | primitive_groupby_bigint_highndv | parquet / none / none | 32.49 | 32.36 | +0.42% | 0.23% | 0.88% | 1 | 5 | | TARGETED-PERF(60) | PERF_AGG-Q1 | parquet / none / none | 2.22 | 2.21 | +0.34% | 1.82% | 1.88% | 1 | 5 | | TARGETED-PERF(60) | primitive_groupby_bigint_pk | parquet / none / none | 112.73 | 112.50 | +0.21% | 0.75% | 0.99% | 1 | 5 | | TARGETED-PERF(60) | PERF_STRING-Q4 | parquet / none / none | 3.52 | 3.51 | +0.13% | 0.58% | 0.65% | 1 | 5 | | TARGETED-PERF(60) | PERF_STRING-Q2 | parquet / none / none | 3.06 | 3.06 | +0.03% | 0.69% | 0.76% | 1 | 5 | | TARGETED-PERF(60) | primitive_filter_decimal_selective | parquet / none / none | 1.20 | 1.20 | -0.01% | 2.35% | 1.24% | 1 | 5 | | TARGETED-PERF(60) | primitive_broadcast_join_2 | parquet / none / none | 4.27 | 4.27 | -0.03% | 0.52% | 0.48% | 1 | 5 | | TARGETED-PERF(60) | primitive_groupby_decimal_lowndv.test | parquet / none / none | 3.87 | 3.87 | -0.07% | 1.69% | 1.63% | 1 | 5 | | TARGETED-PERF(60) | PERF_AGG-Q7 | parquet / none / none | 1.92 | 1.93 | -0.28% | 2.33% | 1.94% | 1 | 5 | | TARGETED-PERF(60) | PERF_AGG-Q5 | parquet / none / none | 0.48 | 0.48 | -0.28% | 0.59% | 0.53% | 1 | 5 | | TARGETED-PERF(60) | PERF_AGG-Q4 | parquet / none / none | 17.48 | 17.53 | -0.30% | 0.43% | 0.58% | 1 | 5 | | TARGETED-PERF(60) | PERF_STRING-Q7 | parquet / none / none | 7.87 | 7.90 | -0.35% | 0.67% | 0.55% | 1 | 5 | | TARGETED-PERF(60) | primitive_exchange_shuffle | parquet / none / none | 74.25 | 74.53 | -0.37% | 0.57% | 0.36% | 1 | 5 | | TARGETED-PERF(60) | primitive_groupby_bigint_lowndv | parquet / none / none | 3.81 | 3.82 | -0.42% | 1.51% | 1.10% | 1 | 5 | | TARGETED-PERF(60) | PERF_AGG-Q2 | parquet / none / none | 9.93 | 10.00 | -0.67% | 0.77% | 0.67% | 1 | 5 | | TARGETED-PERF(60) | primitive_filter_string_like | parquet / none / none | 14.63 | 14.74 | -0.72% | 0.24% | 0.02% | 1 | 5 | | TARGETED-PERF(60) | primitive_conjunct_ordering_4 | parquet / none / none | 0.23 | 0.23 | -0.82% | 0.59% | 1.31% | 1 | 5 | | TARGETED-PERF(60) | PERF_STRING-Q6 | parquet / none / none | 9.87 | 10.03 | -1.55% | 0.39% | 0.22% | 1 | 5 | | TARGETED-PERF(60) | primitive_shuffle_join_one_to_many_string_with_groupby | parquet / none / none | 262.13 | 268.18 | -2.26% | 0.31% | 0.27% | 1 | 5 | | TARGETED-PERF(60) | primitive_filter_string_non_selective | parquet / none / none | 1.23 | 1.26 | -2.26% | 1.72% | 2.15% | 1 | 5 | | TARGETED-PERF(60) | primitive_broadcast_join_1 | parquet / none / none | 2.04 | 2.09 | -2.54% | 0.31% | 2.88% | 1 | 5 | | TARGETED-PERF(60) | primitive_conjunct_ordering_3 | parquet / none / none | 0.13 | 0.13 | -3.13% | 0.73% | 2.50% | 1 | 5 | | TARGETED-PERF(60) | primitive_filter_bigint_selective | parquet / none / none | 0.12 | 0.12 | -3.15% | 1.03% | 1.73% | 1 | 5 | | TARGETED-PERF(60) | primitive_conjunct_ordering_5 | parquet / none / none | 14.11 | 14.60 | -3.33% | 2.03% | 2.43% | 1 | 5 | | TARGETED-PERF(60) | PERF_AGG-Q3 | parquet / none / none | 8.28 | 8.64 | -4.17% | 0.79% | 1.08% | 1 | 5 | | TARGETED-PERF(60) | primitive_long_predicate | parquet / none / none | 215.27 | 227.90 | -5.54% | 0.06% | 0.08% | 1 | 5 | | TARGETED-PERF(60) | primitive_topn_bigint | parquet / none / none | 4.48 | 4.81 | -6.90% | 8.50% | * 15.79% * | 1 | 5 | | TARGETED-PERF(60) | primitive_filter_in_predicate | parquet / none / none | 1.84 | 1.99 | -7.51% | 3.98% | 5.29% | 1 | 5 | +-------------------+--------------------------------------------------------+-----------------------+--------+-------------+------------+------------+----------------+-------------+-------+ Change-Id: Ida873ddb15e393b0bd37486db24add8a32f43ad0 Reviewed-on: http://gerrit.cloudera.org:8080/7974 Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com> Tested-by: Impala Public Jenkins |
||
|
|
ac44d6c3ef |
IMPALA-3200: move bufferpool under runtime
It is arguably a subcomponent of the runtime system Change-Id: I3507066fb5cb955f0872d31a4619bd8bb7d647cd Reviewed-on: http://gerrit.cloudera.org:8080/5165 Reviewed-by: Tim Armstrong <tarmstrong@cloudera.com> Tested-by: Impala Public Jenkins |
||
|
|
14891fe004 |
IMPALA-3676: Use clang as a static analysis tool
This patch adds a script to run clang-tidy over the whole code base. It is a first step towards running clang-tidy over patches as a tool to help users spot bugs before code review. Because of the number of clang-tidy checks, this patch only addresses some of them. In particular, only checks starting with 'clang' are considered. Many of them which are flaky or not part of our style are excluded from the analysis. This patch also exlcudes some checks which are part of our current style but which would be too laborious to fix over the entire codebase, like using nullptr rather than NULL. This patch also fixes a number of small bugs found by clang-tidy. Finally, this patch adds the class AlignedNew, the purpose of which is to provide correct alignment on heap-allocated data. The global new operator only guarantees 16-byte alignment. A class that includes a member variable that must be aligned on a k-byte boundary for k>16 can inherit from AlignedNew<k> to ensure correct alignment on the heap, quieting clang's -Wover-aligned warning. (Static and stack allocation are required by the standard to respect the alignment of the type and its member variables, so no extra code is needed for allocation in those places.) Change-Id: I4ed168488cb30ddeccd0087f3840541d858f9c06 Reviewed-on: http://gerrit.cloudera.org:8080/4758 Reviewed-by: Jim Apple <jbapple@cloudera.com> Tested-by: Internal Jenkins |