From: Nikodemus S. <de...@us...> - 2007-12-09 14:37:41
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv3470/tests Modified Files: gray-streams.impure.lisp Log Message: 1.0.12.18: faster member-type operations * XSET is a generic set implementation, that uses lists of small sets, and switches to hashes for larger ones. Current switchoff point is 12 -- but some operations would benefit from a larger one. TODO: There are other places in SBCL that will probably want to use XSET as well. * Instead of storing members directly in the set object, store them in an XSET -- except for floating point zeros which go into a list of their own, simplifying the canonicalization a bit. (By adding complexity elsewhere, of course. Maybe this is not TRT after all...) * ...now member type arithmetic is mostly O(1) or O(N), instead of O(BAD), but some operations cons more then before: old implemenation manageg eg. union without consing when either set was the subset of the other one -- not so anymore. Index: gray-streams.impure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/gray-streams.impure.lisp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- gray-streams.impure.lisp 5 Dec 2007 17:23:26 -0000 1.9 +++ gray-streams.impure.lisp 9 Dec 2007 14:37:24 -0000 1.10 @@ -290,7 +290,7 @@ (defvar *gray-binary-data* (let ((vector (make-array 1024 :element-type '(unsigned-byte 8) :fill-pointer 0))) - (dotimes (i (length vector)) + (dotimes (i (length vector)) (setf (aref vector i) (random 256))) vector)) @@ -321,9 +321,9 @@ (dotimes (i 1024) (unless (eql (aref *gray-binary-data* i) (aref binary-buffer i)) - (error "wanted ~S at ~S, got ~S (~S)" + (error "wanted ~S at ~S, got ~S (~S)" (aref *gray-binary-data* i) - i + i (aref binary-buffer i) stream)))))) |