I noticed in at least one lisp that unrolling a (loop … collect …) form into (loop … nconc (list … …)) caused it to run noticeably faster. The reason, I think was the destructive operation of tacking something onto tht end involves a write barrier, which was somewhat expensive. LIST on two arguments, apparently, didn’t need a write barrier.
It was a silly and pointless microoptimization, but I am easily amused.
]]>