Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support long decimal in prefixsort (#10385)
Summary: The performance improve from 1.5 ~2.8 times vs stdsort. The larger the amount of data, the greater the optimization。 ``` ============================================================================ [...]ec/benchmarks/PrefixSortBenchmark.cpp relative time/iter iters/s ============================================================================ StdSort_no-payloads_1_hugeint_1k 157.05ns 6.37M PrefixSort 159.96% 98.18ns 10.19M StdSort_no-payloads_2_hugeint_1k 229.25ns 4.36M PrefixSort 187.99% 121.95ns 8.20M StdSort_no-payloads_3_hugeint_1k 300.49ns 3.33M PrefixSort 214.49% 140.09ns 7.14M StdSort_no-payloads_4_hugeint_1k 334.26ns 2.99M PrefixSort 177.37% 188.45ns 5.31M StdSort_no-payloads_1_hugeint_10k 223.07ns 4.48M PrefixSort 179.30% 124.41ns 8.04M StdSort_no-payloads_2_hugeint_10k 299.86ns 3.33M PrefixSort 201.84% 148.57ns 6.73M StdSort_no-payloads_3_hugeint_10k 389.77ns 2.57M PrefixSort 233.71% 166.77ns 6.00M StdSort_no-payloads_4_hugeint_10k 473.84ns 2.11M PrefixSort 219.03% 216.34ns 4.62M StdSort_no-payloads_1_hugeint_100k 288.05ns 3.47M PrefixSort 192.22% 149.86ns 6.67M StdSort_no-payloads_2_hugeint_100k 403.63ns 2.48M PrefixSort 225.74% 178.80ns 5.59M StdSort_no-payloads_3_hugeint_100k 511.05ns 1.96M PrefixSort 257.16% 198.73ns 5.03M StdSort_no-payloads_4_hugeint_100k 606.13ns 1.65M PrefixSort 237.37% 255.36ns 3.92M StdSort_no-payloads_1_hugeint_1000k 388.12ns 2.58M PrefixSort 216.15% 179.56ns 5.57M StdSort_no-payloads_2_hugeint_1000k 546.45ns 1.83M PrefixSort 246.45% 221.73ns 4.51M StdSort_no-payloads_3_hugeint_1000k 716.56ns 1.40M PrefixSort 274.69% 260.86ns 3.83M StdSort_no-payloads_4_hugeint_1000k 952.00ns 1.05M PrefixSort 283.40% 335.92ns 2.98M ``` Pull Request resolved: #10385 Reviewed By: Yuhta, tanjialiang Differential Revision: D65739467 Pulled By: xiaoxmeng fbshipit-source-id: 15f1464a17ff2b75482eae58b328997eed3e2cff
- Loading branch information