Hi all: Now I am using hive micro bench(HIVE-10189) to test the performance improvement of AVX2 and AVX512. When I test the VectorizedLogicBench.IfExprLongColumnLongColumnBench<https://github.com/apache/hive/blob/master/itests/hive-jmh/src/main/java/org/apache/hive/benchmark/vectorization/VectorizedLogicBench.java#L115>, I found the result as following When enabling AVX512: o.a.h.b.v.VectorizedLogicBench.IfExprLongColumnLongColumnBench.bench avgt 10 1621602.652 ± 583775.700 us/op When enabling AVX2: o.a.h.b.v.VectorizedLogicBench.IfExprLongColumnLongColumnBench.bench avgt 10 1817855.876 ± 49289.868 us/op
You see that there is a great float for IfExprLongColumnLongColumnBench.bench, the float is 583775 and the average value is 1621602. It shows that the values in the test are very discrete @Teddy, as you are more familiar with the code, do you know why the test data is discrete? If the data is discrete, does this mean the test data is not stable? Appreciate to get some feedback from you! Best Regards Kelly Zhang/Zhang,Liyun