lilypond-devel
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]