More on memq



Richard Fateman wrote:

>Presumably what you have observed is the call overhead for memq to call
>member.

Yes certainly that is most of the effect.

>In a macro expansion, that call overhead would disappear.  And the
>open-coding would provide
>additional speedups  (though if sbcl/cmucl is clever enough to do
>open-coding, then
>there would not be a change in that.)

sbcl and cmucl compilers are both clever enough to open code the
calls to member. You can check that by doing a disassemble on the
code.

And above all I must say that I am with Robert Dodier when he
says:

>A much better reason for replacing archaisms with CL is that
>outsiders (i.e., anyone who has spent less than a couple of
>years on the project) will understand the code better.
>Execution time does matter but it is a secondary or tertiary
>consideration in this case.

Amen to that.

Andreas