gf2121 commented on PR #12784: URL: https://github.com/apache/lucene/pull/12784#issuecomment-1803223146
As "reorder" gets faster, I'm considering lowering the fallback threshold and letting radix sort do more of the work. ### Benchmark result: <details><summary>MAC Intel</summary> ``` BASELINE: sort 5169965 terms, build histogram took: 1969ms, reorder took: 2103ms, total took: 5524ms. BASELINE: sort 5169965 terms, build histogram took: 1975ms, reorder took: 2118ms, total took: 5435ms. BASELINE: sort 5169965 terms, build histogram took: 1977ms, reorder took: 2140ms, total took: 5441ms. BASELINE: sort 5169965 terms, build histogram took: 1982ms, reorder took: 2168ms, total took: 5452ms. BASELINE: sort 5169965 terms, build histogram took: 1987ms, reorder took: 2164ms, total took: 5475ms. BASELINE: sort 5169965 terms, build histogram took: 1963ms, reorder took: 2157ms, total took: 5456ms. BASELINE: sort 5169965 terms, build histogram took: 1979ms, reorder took: 2162ms, total took: 5452ms. BASELINE: sort 5169965 terms, build histogram took: 1984ms, reorder took: 2172ms, total took: 5493ms. BASELINE: sort 5169965 terms, build histogram took: 1986ms, reorder took: 2166ms, total took: 5476ms. BASELINE: sort 5169965 terms, build histogram took: 2016ms, reorder took: 2287ms, total took: 5660ms. BASELINE: sort 5169965 terms, build histogram took: 1761ms, reorder took: 2109ms, total took: 5183ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 2018ms, reorder took: 125ms, total took: 3760ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 1998ms, reorder took: 118ms, total took: 3630ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 1987ms, reorder took: 115ms, total took: 3596ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 2001ms, reorder took: 111ms, total took: 3622ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 2017ms, reorder took: 110ms, total took: 3610ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 2021ms, reorder took: 118ms, total took: 3712ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 2006ms, reorder took: 108ms, total took: 3634ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 2015ms, reorder took: 106ms, total took: 3620ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 2006ms, reorder took: 101ms, total took: 3611ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 1993ms, reorder took: 115ms, total took: 3609ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 2024ms, reorder took: 106ms, total took: 3633ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2972ms, reorder took: 199ms, total took: 3288ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2941ms, reorder took: 211ms, total took: 3279ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2991ms, reorder took: 178ms, total took: 3283ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2932ms, reorder took: 195ms, total took: 3233ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2954ms, reorder took: 202ms, total took: 3259ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2938ms, reorder took: 201ms, total took: 3249ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2949ms, reorder took: 195ms, total took: 3295ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2961ms, reorder took: 208ms, total took: 3274ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2965ms, reorder took: 201ms, total took: 3257ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2957ms, reorder took: 188ms, total took: 3285ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 2975ms, reorder took: 182ms, total took: 3291ms. ``` </details> <details><summary>MAC M2</summary> ``` BASELINE: sort 5169965 terms, build histogram took: 478ms, reorder took: 1332ms, total took: 2334ms. BASELINE: sort 5169965 terms, build histogram took: 483ms, reorder took: 1351ms, total took: 2333ms. BASELINE: sort 5169965 terms, build histogram took: 462ms, reorder took: 1319ms, total took: 2284ms. BASELINE: sort 5169965 terms, build histogram took: 463ms, reorder took: 1272ms, total took: 2246ms. BASELINE: sort 5169965 terms, build histogram took: 466ms, reorder took: 1285ms, total took: 2257ms. BASELINE: sort 5169965 terms, build histogram took: 471ms, reorder took: 1318ms, total took: 2289ms. BASELINE: sort 5169965 terms, build histogram took: 465ms, reorder took: 1322ms, total took: 2291ms. BASELINE: sort 5169965 terms, build histogram took: 449ms, reorder took: 1288ms, total took: 2234ms. BASELINE: sort 5169965 terms, build histogram took: 448ms, reorder took: 1302ms, total took: 2257ms. BASELINE: sort 5169965 terms, build histogram took: 453ms, reorder took: 1305ms, total took: 2263ms. BASELINE: sort 5169965 terms, build histogram took: 456ms, reorder took: 1270ms, total took: 2229ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 586ms, reorder took: 79ms, total took: 1343ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 551ms, reorder took: 62ms, total took: 1212ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 588ms, reorder took: 72ms, total took: 1253ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 561ms, reorder took: 74ms, total took: 1227ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 572ms, reorder took: 67ms, total took: 1260ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 539ms, reorder took: 63ms, total took: 1208ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 542ms, reorder took: 74ms, total took: 1209ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 546ms, reorder took: 78ms, total took: 1222ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 532ms, reorder took: 70ms, total took: 1195ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 536ms, reorder took: 81ms, total took: 1224ms. CANDIDATE( fallback threshold = 100 ): sort 5169965 terms, build histogram took: 548ms, reorder took: 66ms, total took: 1207ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 660ms, reorder took: 108ms, total took: 822ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 645ms, reorder took: 120ms, total took: 815ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 648ms, reorder took: 124ms, total took: 829ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 654ms, reorder took: 145ms, total took: 835ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 652ms, reorder took: 137ms, total took: 837ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 631ms, reorder took: 144ms, total took: 816ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 654ms, reorder took: 120ms, total took: 821ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 684ms, reorder took: 111ms, total took: 841ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 652ms, reorder took: 146ms, total took: 836ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 658ms, reorder took: 127ms, total took: 837ms. CANDIDATE( fallback threshold = 50 ): sort 5169965 terms, build histogram took: 673ms, reorder took: 123ms, total took: 838ms. ``` </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org