[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: LOOP fan mail



You missed one significant point and one example.
You failed to count the space taken by the breakoff function:
  pname:  6 words (3 fixnum, 3 list), although this could be longer
	or shorter depending on the genprefix.
  symbol:  3 words (1 header, 2 sy block)
  plist:  2 words
  and one cons cell to intern it.
That makes the space comparison 23. words, not 11.  2 of those words
will not be shared (symbol header, and cons cell in the obarray).
In any case, a more appropriate comparison with the open-coded map is:
  (LOOP FOR X IN PRELUDE-FILES
	NCONC (LIST X (GET X 'VERSION)))
which happens to take 26. words.  That is because there is a special
optimization for an NCONC of a call to LIST;  fooling it by using
(LIST* X (GET X 'VERSION) NIL) takes 27. words, same as the open-compiled
MAP, which i believe it emulates fairly closely.