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