2020-06-29 14:09:51 +00:00
|
|
|
<!--
|
|
|
|
The tests times are wildly different, e.g. toString(number % 100)
|
|
|
|
is 10 times faster than toString(number % 100 + 0.5). The shorter
|
|
|
|
queries are somewhat unstable, so ignore differences less than 10%.
|
|
|
|
-->
|
2020-10-30 15:12:15 +00:00
|
|
|
<test>
|
2020-01-06 03:28:19 +00:00
|
|
|
<substitutions>
|
|
|
|
<substitution>
|
|
|
|
<name>expr</name>
|
|
|
|
<values>
|
|
|
|
<value>toFloat64(number)</value>
|
2020-01-07 03:51:43 +00:00
|
|
|
<value>toFloat64(number % 2)</value>
|
2020-01-06 03:28:19 +00:00
|
|
|
<value>toFloat64(number % 10)</value>
|
2020-01-07 03:51:43 +00:00
|
|
|
<value>toFloat64(number % 100)</value>
|
|
|
|
<value>toFloat64(number % 1000)</value>
|
|
|
|
<value>toFloat64(number % 10000)</value>
|
|
|
|
<value>toFloat64(number % 100 + 0.5)</value>
|
|
|
|
<value>toFloat64(number % 100 + 0.123)</value>
|
|
|
|
<value>toFloat64(number % 1000 + 0.123456)</value>
|
|
|
|
<value>number / 2</value>
|
|
|
|
<value>number / 3</value>
|
|
|
|
<value>number / 7</value>
|
|
|
|
<value>number / 16</value>
|
2020-01-06 03:28:19 +00:00
|
|
|
<value>toFloat32(number)</value>
|
2020-01-07 03:51:43 +00:00
|
|
|
<value>toFloat32(number % 2)</value>
|
2020-01-06 03:28:19 +00:00
|
|
|
<value>toFloat32(number % 10)</value>
|
2020-01-07 03:51:43 +00:00
|
|
|
<value>toFloat32(number % 100)</value>
|
|
|
|
<value>toFloat32(number % 1000)</value>
|
|
|
|
<value>toFloat32(number % 10000)</value>
|
|
|
|
<value>toFloat32(number % 100 + 0.5)</value>
|
|
|
|
<value>toFloat32(number % 100 + 0.123)</value>
|
|
|
|
<value>toFloat32(number % 1000 + 0.123456)</value>
|
2020-01-06 03:28:19 +00:00
|
|
|
</values>
|
|
|
|
</substitution>
|
2020-03-11 11:22:10 +00:00
|
|
|
<substitution>
|
|
|
|
<name>expr_zero</name>
|
|
|
|
<values>
|
|
|
|
<value>1 / rand()</value>
|
|
|
|
<value>rand() / 0xFFFFFFFF</value>
|
|
|
|
<value>0xFFFFFFFF / rand()</value>
|
|
|
|
<value>toFloat64(rand())</value>
|
|
|
|
<value>toFloat64(rand64())</value>
|
|
|
|
<value>toFloat32(rand())</value>
|
|
|
|
<value>toFloat32(rand64())</value>
|
|
|
|
<value>reinterpretAsFloat32(reinterpretAsString(rand()))</value>
|
|
|
|
<value>reinterpretAsFloat64(reinterpretAsString(rand64()))</value>
|
|
|
|
</values>
|
|
|
|
</substitution>
|
2020-01-06 03:28:19 +00:00
|
|
|
</substitutions>
|
|
|
|
|
2020-06-26 21:02:13 +00:00
|
|
|
<query>SELECT count() FROM numbers(10000000) WHERE NOT ignore(toString({expr}))</query>
|
|
|
|
<query>SELECT count() FROM zeros(10000000) WHERE NOT ignore(toString({expr_zero}))</query>
|
2020-01-06 03:28:19 +00:00
|
|
|
</test>
|