Remove infinite performance tests

This commit is contained in:
Alexey Milovidov 2020-03-07 22:32:36 +03:00
parent c658d85aa8
commit 7c791e1cf1
6 changed files with 34 additions and 36 deletions

View File

@ -1,5 +1,5 @@
<test> <test>
<type>once</type> <type>loop</type>
<stop_conditions> <stop_conditions>
<all_of> <all_of>

View File

@ -1,5 +1,5 @@
<test> <test>
<type>once</type> <type>loop</type>
<preconditions> <preconditions>
<table_exists>hits_100m_single</table_exists> <table_exists>hits_100m_single</table_exists>

View File

@ -1,5 +1,5 @@
<test> <test>
<type>once</type> <type>loop</type>
<stop_conditions> <stop_conditions>
<all_of> <all_of>

View File

@ -1,5 +1,5 @@
<test> <test>
<type>once</type> <type>loop</type>
<stop_conditions> <stop_conditions>
<all_of> <all_of>

View File

@ -1,5 +1,5 @@
<test> <test>
<type>once</type> <type>loop</type>
<stop_conditions> <stop_conditions>
<all_of> <all_of>

View File

@ -3,8 +3,6 @@
<stop_conditions> <stop_conditions>
<any_of> <any_of>
<!-- This is only for infinite running query. -->
<average_speed_not_changing_for_ms>4000</average_speed_not_changing_for_ms>
<total_time_ms>12000</total_time_ms> <total_time_ms>12000</total_time_ms>
</any_of> </any_of>
</stop_conditions> </stop_conditions>
@ -17,48 +15,48 @@
То есть, этот запрос представляет собой необычным образом написанный бесконечный цикл. То есть, этот запрос представляет собой необычным образом написанный бесконечный цикл.
Мы запускаем этот запрос и наблюдаем, с какой скоростью он выполняется. Через несколько секунд, когда скорость стабилизируется, прерываем выполнение. Мы запускаем этот запрос и наблюдаем, с какой скоростью он выполняется. Через несколько секунд, когда скорость стабилизируется, прерываем выполнение.
В качестве скорости выполнения запроса указывается количество обработанных исходных (прочитанных из таблицы) данных в единицу времени. В качестве скорости выполнения запроса указывается количество обработанных исходных (прочитанных из таблицы) данных в единицу времени.
Например, в таблице system.numbers читаемые нами данные - это числа типа UInt64 (8 байт). Если мы обрабатываем миллиард таких чисел в секунду, то отобразится скорость - 8 GB/sec. --> Например, в таблице numbers читаемые нами данные - это числа типа UInt64 (8 байт). Если мы обрабатываем миллиард таких чисел в секунду, то отобразится скорость - 8 GB/sec. -->
<query>SELECT count() FROM system.numbers WHERE NOT ignore(rand())</query> <query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(rand())</query>
<query>SELECT count() FROM system.numbers_mt WHERE NOT ignore(rand())</query> <query>SELECT count() FROM numbers_mt(1600000000) WHERE NOT ignore(rand())</query>
<!-- 10. Некриптографическая хэш-функция для целых чисел 64bit -> 64bit. --> <!-- 10. Некриптографическая хэш-функция для целых чисел 64bit -> 64bit. -->
<query>SELECT count() FROM system.numbers WHERE NOT ignore(intHash64(number))</query> <query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(intHash64(number))</query>
<query>SELECT count() FROM system.numbers_mt WHERE NOT ignore(intHash64(number))</query> <query>SELECT count() FROM numbers_mt(1600000000) WHERE NOT ignore(intHash64(number))</query>
<!-- 11. Некриптографическая хэш-функция для целых чисел 64bit -> 32bit. --> <!-- 11. Некриптографическая хэш-функция для целых чисел 64bit -> 32bit. -->
<query>SELECT count() FROM system.numbers WHERE NOT ignore(intHash32(number))</query> <query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(intHash32(number))</query>
<query>SELECT count() FROM system.numbers_mt WHERE NOT ignore(intHash32(number))</query> <query>SELECT count() FROM numbers_mt(1600000000) WHERE NOT ignore(intHash32(number))</query>
<!-- 12. Преобразование целого числа в строку в десятичном виде. --> <!-- 12. Преобразование целого числа в строку в десятичном виде. -->
<query>SELECT count() FROM system.numbers WHERE NOT ignore(toString(number))</query> <query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(toString(number))</query>
<query>SELECT count() FROM system.numbers_mt WHERE NOT ignore(toString(number))</query> <query>SELECT count() FROM numbers_mt(1600000000) WHERE NOT ignore(toString(number))</query>
<!-- 13. Преобразование целого числа в строку путём копирования куска памяти. --> <!-- 13. Преобразование целого числа в строку путём копирования куска памяти. -->
<query>SELECT count() FROM system.numbers WHERE NOT ignore(reinterpretAsString(number))</query> <query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(reinterpretAsString(number))</query>
<query>SELECT count() FROM system.numbers_mt WHERE NOT ignore(reinterpretAsString(number))</query> <query>SELECT count() FROM numbers_mt(1600000000) WHERE NOT ignore(reinterpretAsString(number))</query>
<!-- 26. Целочисленное деление на константу. Используется библиотека libdivide. --> <!-- 26. Целочисленное деление на константу. Используется библиотека libdivide. -->
<query>SELECT count() FROM system.numbers WHERE NOT ignore(number / 7)</query> <query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(number / 7)</query>
<query>SELECT count() FROM system.numbers_mt WHERE NOT ignore(number / 7)</query> <query>SELECT count() FROM numbers_mt(1600000000) WHERE NOT ignore(number / 7)</query>
<!-- 27. Целочисленное деление на константу. --> <!-- 27. Целочисленное деление на константу. -->
<query>SELECT count() FROM system.numbers WHERE NOT ignore(number % 7)</query> <query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(number % 7)</query>
<query>SELECT count() FROM system.numbers_mt WHERE NOT ignore(number % 7)</query> <query>SELECT count() FROM numbers_mt(1600000000) WHERE NOT ignore(number % 7)</query>
<!-- 28. Целочисленное деление на константу. --> <!-- 28. Целочисленное деление на константу. -->
<query>SELECT count() FROM system.numbers WHERE NOT ignore(number % 34908756)</query> <query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(number % 34908756)</query>
<query>SELECT count() FROM system.numbers_mt WHERE NOT ignore(number % 34908756)</query> <query>SELECT count() FROM numbers_mt(1600000000) WHERE NOT ignore(number % 34908756)</query>
<!-- 29. Lookup-таблица, помещающаяся в L2-кэш. --> <!-- 29. Lookup-таблица, помещающаяся в L2-кэш. -->
<query>SELECT number % 1000 AS k, count() FROM system.numbers GROUP BY k</query> <query>SELECT number % 1000 AS k, count() FROM numbers(100000000) GROUP BY k</query>
<query>SELECT number % 1000 AS k, count() FROM system.numbers_mt GROUP BY k</query> <query>SELECT number % 1000 AS k, count() FROM numbers_mt(1600000000) GROUP BY k</query>
<!-- 30. Хэш-таблица, помещающаяся в L3-кэш. --> <!-- 30. Хэш-таблица, помещающаяся в L3-кэш. -->
<query>SELECT number % 100000 AS k, count() FROM system.numbers GROUP BY k</query> <query>SELECT number % 100000 AS k, count() FROM numbers(100000000) GROUP BY k</query>
<query>SELECT number % 100000 AS k, count() FROM system.numbers_mt GROUP BY k</query> <query>SELECT number % 100000 AS k, count() FROM numbers_mt(1600000000) GROUP BY k</query>
<!-- 31. Хэш-таблица, наверное помещающаяся в L3-кэш. --> <!-- 31. Хэш-таблица, наверное помещающаяся в L3-кэш. -->
<query>SELECT number % 1000000 AS k, count() FROM system.numbers GROUP BY k</query> <query>SELECT number % 1000000 AS k, count() FROM numbers(100000000) GROUP BY k</query>
<query>SELECT number % 1000000 AS k, count() FROM system.numbers_mt GROUP BY k</query> <query>SELECT number % 1000000 AS k, count() FROM numbers_mt(1600000000) GROUP BY k</query>
<!-- 32. Хэш-таблица, не помещающаяся в L3-кэш. --> <!-- 32. Хэш-таблица, не помещающаяся в L3-кэш. -->
<query>SELECT number % 10000000 AS k, count() FROM system.numbers GROUP BY k</query> <query>SELECT number % 10000000 AS k, count() FROM numbers(100000000) GROUP BY k</query>
<query>SELECT number % 10000000 AS k, count() FROM system.numbers_mt GROUP BY k</query> <query>SELECT number % 10000000 AS k, count() FROM numbers_mt(1600000000) GROUP BY k</query>
<!-- 33. Хэш-таблица, требующая кучу оперативки. Возможны интересные эффекты. --> <!-- 33. Хэш-таблица, требующая кучу оперативки. Возможны интересные эффекты. -->
<query>SELECT number % 500000000 AS k, count() FROM system.numbers GROUP BY k</query> <query>SELECT number % 500000000 AS k, count() FROM numbers(100000000) GROUP BY k</query>
<query>SELECT number % 500000000 AS k, count() FROM system.numbers_mt GROUP BY k</query> <query>SELECT number % 500000000 AS k, count() FROM numbers_mt(1600000000) GROUP BY k</query>
<!-- 35. Кэш-промахи, осуществляемые из многих процессорных ядер. --> <!-- 35. Кэш-промахи, осуществляемые из многих процессорных ядер. -->
<!-- <query>SELECT number % (intDiv(100000000, {THREADS})) AS k, count() FROM system.numbers_mt GROUP BY k</query> --> <!-- <query>SELECT number % (intDiv(100000000, {THREADS})) AS k, count() FROM numbers_mt(1600000000) GROUP BY k</query> -->
<!-- 46. Запрос, требующий много бесполезных копирований. --> <!-- 46. Запрос, требующий много бесполезных копирований. -->
<query>SELECT count() FROM system.numbers WHERE NOT ignore(materialize('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx') AS s, concat(s,s,s,s,s,s,s,s,s,s) AS t, concat(t,t,t,t,t,t,t,t,t,t) AS u) SETTINGS max_block_size = 1000</query> <query>SELECT count() FROM numbers(100000000) WHERE NOT ignore(materialize('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx') AS s, concat(s,s,s,s,s,s,s,s,s,s) AS t, concat(t,t,t,t,t,t,t,t,t,t) AS u) SETTINGS max_block_size = 1000</query>
</test> </test>