Files
datastore/tests/performance/string_order_by.xml
Raúl Marín 064130bb36 Reduce JIT-induced noise in performance tests
Most performance tests already disable JIT via `compile_expressions=0`,
`compile_aggregate_expressions=0` and `compile_sort_description=0` in
`perf-comparison-tweaks-users.xml`. Tests that explicitly opt back into JIT
were still bimodal: the JIT cache is global and shared across queries, so
whether the first measured runs hit it or not depends on what ran before.

Set `min_count_to_compile_expression`, `min_count_to_compile_aggregate_expression`
and `min_count_to_compile_sort_description` to 0 in the same profile so that
when a test does enable JIT, compilation happens on the very first call and
the existing prewarm run populates the cache before measurements start.

Drop now-redundant per-test overrides of the same settings.
2026-05-08 11:49:12 +02:00

41 lines
1.6 KiB
XML

<test>
<settings>
<max_threads>8</max_threads>
<compile_sort_description>1</compile_sort_description>
</settings>
<create_query>CREATE TABLE str_sort (a String, b UInt64, c FixedString(5), d String, e UInt32, f UInt32) ENGINE = Memory</create_query>
<fill_query>
INSERT INTO str_sort
SELECT
randomString(4) AS a,
rand() AS b, cast(randomString(5) AS FixedString(5)) as c,
toString(rand() % 100000) as d,
rand() % 1000 as e,
rand() % 1000 as f
FROM numbers(1e7)
</fill_query>
<query>SELECT a, b FROM str_sort ORDER BY a, b, e, f FORMAT Null</query>
<query>SELECT b, c FROM str_sort ORDER BY b, c, e, f FORMAT Null</query>
<query>SELECT a, d FROM str_sort ORDER BY c, d, e, f FORMAT Null</query>
<create_query>CREATE TABLE str_sort_long (a String, b UInt64, c FixedString(128), d String, e UInt32, f UInt32) ENGINE = Memory</create_query>
<fill_query>
INSERT INTO str_sort_long
SELECT
randomString(64) AS a,
rand() AS b, cast(randomString(128) AS FixedString(128)) as c,
randomString(256) as d,
rand() % 1000 as e,
rand() % 1000 as f
FROM numbers(5e6)
</fill_query>
<query>SELECT a, b FROM str_sort_long ORDER BY a, b, e, f FORMAT Null</query>
<query>SELECT b, c FROM str_sort_long ORDER BY b, c, e, f FORMAT Null</query>
<query>SELECT a, d FROM str_sort_long ORDER BY c, d, e, f FORMAT Null</query>
<drop_query>DROP TABLE IF EXISTS str_sort</drop_query>
<drop_query>DROP TABLE IF EXISTS str_sort_long</drop_query>
</test>