[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue 5362: Generalize context searches (issue 344050043 by address@
From: |
Dan Eble |
Subject: |
Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden) |
Date: |
Sun, 1 Jul 2018 20:16:27 -0400 |
On Jul 1, 2018, at 16:40, address@hidden wrote:
>
> Premature optimization is the root of all evil. I'm going to
> pontificate now in the hope that you'll have some opportunity in your
> work life to take karmatic revenge by passing this kind of "wisdom"
> on.
I sense some frustration. First, please take note that I appreciate the time
you spend reviewing my submissions, that I’ve already updated the patch to
remove the templates, and that nothing I’m about to say is meant to increase
stress.
> Now your use of templates possibly saves a few cycles, assuming that
> branching out into 8 different versions does not cost more cycles due
> to execution cache pollution than the savings are.
Understood. In return, please try to understand the perspective of a
contributor who has not developed a good sense for how any given change will be
received and is working hard to navigate contributing in spite of it. The
current implementation without templates also has separate functions for
create_unique_context, find_create_context, find_context_above,
find_context_below, and find_context_near. The contributor has a choice: if he
maintains the separate instances of these functions by using templates, will
the reviewers react to the syntax? If he combines the separate functions into
one function with new new branches controlled by new parameters, will the
reviewers react to the potential change in performance? In the future, I will
try to approach such questions from the perspective you’ve presented.
> We have to keep what we think we are going to be able to achieve in
> relation with how hard to maintain the code becomes to a programmer
> being somewhat comparably versed in Scheme and C++ because only those
> programmers will actually have the required view of the whole to work
> effectively on the LilyPond code base.
I will have to rely heavily on your judgment in this regard. I do not have the
perspective of a casual C++ coder, and for years I have worked in a group in
which the principal software engineer is passionately devoted to using the most
recent tools available to achieve the highest performance possible, and in
which there are (sadly and happily) no junior coders to be concerned about.
The next time this happens (it seems nearly certain) you only need to say
something like, “Dan, you’re worrying too much about preserving X; just go
ahead and do Y and it will be simpler.”
Regards,
—
Dan
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden), dak, 2018/07/01
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden), dak, 2018/07/01
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden), nine . fierce . ballads, 2018/07/01
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden), nine . fierce . ballads, 2018/07/01
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden), dak, 2018/07/01
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden), dak, 2018/07/01
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden), dak, 2018/07/01
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden),
Dan Eble <=
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden), dak, 2018/07/02
- Re: Issue 5362: Generalize context searches (issue 344050043 by address@hidden), nine . fierce . ballads, 2018/07/02