Messages in this thread |  | | From | Kuan-Wei Chiu <> | | Subject | [PATCH 0/5] Optimize number of comparisons for heap/heapsort implementaion | | Date | Sun, 21 Jan 2024 23:36:44 +0800 |
| |
Hello,
The existing implementations of heap/heapsort follow the conventional textbook approach, where each heapify operation requires approximately 2*log2(n) comparisons. In this series, I introduce a bottom-up variant that reduces the number of comparisons during heapify operations to approximately log2(n), while maintaining the same number of swap operations.
Thanks, Kuan-Wei
Kuan-Wei Chiu (5): bcachefs: Optimize eytzinger0_sort() using bottom-up heapsort bcachefs: Introduce parent function for sort_cmp_size() bcachefs: Optimize sort_cmp_size() using bottom-up heapsort bcachefs: Optimize number of comparisons in heap_sift_down bcache: Optimize number of comparisons in heap_sift
drivers/md/bcache/util.h | 23 +++++---- fs/bcachefs/util.c | 109 ++++++++++++++++++++++++++------------- fs/bcachefs/util.h | 23 +++++---- 3 files changed, 98 insertions(+), 57 deletions(-)
-- 2.25.1
|  |