ClickHouse/tests/performance/float_formatting.xml
2021-03-26 00:00:18 +03:00

54 lines
2.3 KiB
XML

<!--
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%.
-->
<test>
<substitutions>
<substitution>
<name>expr</name>
<values>
<value>toFloat64(number)</value>
<value>toFloat64(number % 2)</value>
<value>toFloat64(number % 10)</value>
<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>
<value>toFloat32(number)</value>
<value>toFloat32(number % 2)</value>
<value>toFloat32(number % 10)</value>
<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>
</values>
</substitution>
<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>
</substitutions>
<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>
</test>