[PATCH 0/5] Optimize number of comparisons for heap/heapsort implementaion
From: Kuan-Wei Chiu
Date: Sun Jan 21 2024 - 10:37:07 EST
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