Optimize make-array for unknown dimensions.
authorStas Boukarev <stassats@gmail.com>
Tue, 3 Dec 2013 18:31:09 +0000 (22:31 +0400)
committerStas Boukarev <stassats@gmail.com>
Tue, 3 Dec 2013 18:31:09 +0000 (22:31 +0400)
commitcfb04dbf1fb23a405c23de99ca998cdd2ff0d31f
tree0ed614bf871361d0495518b426e4f4a9cb55967e
parentc295a1ec99a7316523e7674cec71da05da8fc072
Optimize make-array for unknown dimensions.

(make-array x :element-type '(unsigned-byte 8)) went through a costly
procedure of determining what type should be used for
(unsigned-byte 8), but this can be done at compile-time.
That form is now 25 times faster, and only 4 times slower than
(make-array (the integer x) :element-type '(unsigned-byte 8))
NEWS
package-data-list.lisp-expr
src/code/array.lisp
src/compiler/array-tran.lisp
src/compiler/fndb.lisp