Lars skriver: > Ingvar skrev: > > Jag knackade dessutom ihop ett makrolager för att slippa boxade > > flyttal, men det visade sig inte göra någon större skillnad (och om > > det var skillnad var det långsammare) i det enda fall jag testade > > den på. > > Jasså? I mitt test har jag för mig att det gjorde lite skillnad. Det > var framförallt boxning av returvärdet jag undvek, något i stil med: > > ;;; Före. > (defun foo/boxed () > 42f0) > > ;;; Efter. > (deftype box () '(simple-array single-float ())) > (defun foo/unboxed (result) > (declare (box result)) > (setf (aref result) 42f0) > nil)
fast det där är ju en manuell boxning. :) Det var iofs det jag gjorde, också, det var (i princip) en wrapper som byggde symbol-makron, som satte värden i en array av rätt flyttalstyp (och deklarerad och fin), men jag verkar ha kastat den koden (det var antagligen ett fulhack på mitt förra jobb, som försvann antingen i en disk-krasch eller aldrig lyftes av den hårddisken). //Ingvar _______________________________________________ Lisp mailing list Lisp@lisp.se http://mailman.nocrew.org/cgi-bin/mailman/listinfo/lisp