Message ID | 4d7cd286-398e-215c-f2bd-aa7e8207be4f@web.de (mailing list archive) |
---|---|
Headers | show |
Series | typed sort of linked lists | expand |
René Scharfe <l.s.r@web.de> 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
Junio C Hamano <gitster@pobox.com> writes: > René Scharfe <l.s.r@web.de> 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. No comments or objections from anybody? I am planning to merge the topic to 'next' and to 'master' soonish. Thanks.
On 7/25/2022 2:52 PM, Junio C Hamano wrote: > Junio C Hamano <gitster@pobox.com> writes: > >> René Scharfe <l.s.r@web.de> writes: >> A nicely presented coherent story that results in an overall code >> reduction. Thanks for a pleasant read. >> >> Will queue. > > No comments or objections from anybody? I am planning to merge the > topic to 'next' and to 'master' soonish. Sorry. I had started reading it and also found it to be a pleasant read, but did not get around to finishing it and saying so publicly. Consider that done now. Thanks, René! -Stolee
Derrick Stolee <derrickstolee@github.com> writes: > On 7/25/2022 2:52 PM, Junio C Hamano wrote: >> Junio C Hamano <gitster@pobox.com> writes: >> >>> René Scharfe <l.s.r@web.de> writes: >>> A nicely presented coherent story that results in an overall code >>> reduction. Thanks for a pleasant read. >>> >>> Will queue. >> >> No comments or objections from anybody? I am planning to merge the >> topic to 'next' and to 'master' soonish. > > Sorry. I had started reading it and also found it to be a > pleasant read, but did not get around to finishing it and > saying so publicly. Consider that done now. > > Thanks, René! > -Stolee Thanks.