On Jul 1, 2018, at 16:40, [email protected] 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 _______________________________________________ lilypond-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-devel
