Hi Liam, On Tue, 28 Nov 2017, liam Beguin wrote: > On 27/11/17 06:04 PM, Johannes Schindelin wrote: > > > > On Sun, 26 Nov 2017, Liam Beguin wrote: > > > >> @@ -2483,7 +2491,9 @@ int sequencer_make_script(int keep_empty, FILE *out, > >> strbuf_reset(&buf); > >> if (!keep_empty && is_original_commit_empty(commit)) > >> strbuf_addf(&buf, "%c ", comment_line_char); > >> - strbuf_addf(&buf, "pick %s ", oid_to_hex(&commit->object.oid)); > >> + strbuf_addf(&buf, "%s %s ", > >> + abbreviate_commands ? "p" : "pick", > >> + oid_to_hex(&commit->object.oid)); > > > > I guess the compiler will optimize this code so that the conditional > > is evaluated only once. Not that this is performance critical ;-) > > Is your guess enough? :-) If not, how could I make sure this is > optimized? Should I do that check before the while() loop? I am a fan of not relying too heavily on compiler optimization and e.g. extract code from loops when it does not need to be evaluated every single iteration. In this case: const char *pick = abbreviate_commands ? "p" : "pick"; ... strbuf_addf(&buf, "%s %s ", pick, oid_to_hex(&commit->object.oid)); But given Junio's comment that the assignment of `first` was too far away from the line where it is used for his taste, I guess he will argue (once again) the exact opposite of me. Ciao, Dscho