René Scharfe <l.s.r@xxxxxx> writes: > It starts by making llist_mergesort() leaner without reducing its > performance: > > mergesort: unify ranks loops > mergesort: tighten merge loop > > This matters for the next step, which creates the macro version of > that function: > > mergesort: add macros for typed sort of linked lists > > The next two patches show the impact of using the macro on performance > and object text size of the test helper: > > test-mergesort: use DEFINE_LIST_SORT_DEBUG > test-mergesort: use DEFINE_LIST_SORT > > Then all llist_mergesort() callers get converted: > > blame: use DEFINE_LIST_SORT > commit: use DEFINE_LIST_SORT > fetch-pack: use DEFINE_LIST_SORT > packfile: use DEFINE_LIST_SORT > > ... and the final patch removes the function which has become unused: > > mergesort: remove llist_mergesort() A nicely presented coherent story that results in an overall code reduction. Thanks for a pleasant read. Will queue. > Makefile | 1 - > blame.c | 30 ++++------- > commit.c | 20 +++---- > fetch-pack.c | 8 +++ > mergesort.c | 84 ----------------------------- > mergesort.h | 108 ++++++++++++++++++++++++++++++++++---- > packfile.c | 18 ++----- > remote.c | 22 -------- > remote.h | 2 - > t/helper/test-mergesort.c | 34 +++--------- > t/perf/p0071-sort.sh | 4 +- > t/t0071-sort.sh | 2 +- > 12 files changed, 134 insertions(+), 199 deletions(-) > delete mode 100644 mergesort.c > > -- > 2.37.1