Subject: bug#35321: [PATCH] * src/bytecode.c (exec_byte_code) Unroll Blist3 and Blist4

From: Alex Gramiak <[email-masked]>
Date: Fri, 19 Apr 2019 15:31:01 -0600

Eli Zaretskii <[email-masked]> writes:

>> From: Alex Gramiak <[email-masked]>
>> Cc: [email-masked]
>> Date: Fri, 19 Apr 2019 14:30:03 -0600
>> 
>> > Does this produce any tangible performance gains?
>> 
>> It seems to be within error. I was just in the byte compiler recently
>> and saw that Blist3/4 don't use list3/4 like Blist2 uses list2. If
>> you're worried about touching older code for little gain, then I guess
>> it's safer to leave it alone.
>
> Is there any reason other than performance to make the change?

There's no functional difference, so the only remaining aspects are
readability and similarity with the other BlistX cases. I suppose it
loses on the readability front, and it's not much of an issue to be
dissimilar to Blist2. Perhaps it's best to leave this alone after all.

> Also, are Blist3/4 used frequently enough to justify the change?

They're used any time (list x y z) and (list w x y z) are byte-compiled,
so I imagine they're used quite a bit.