Greetings!  P.S.  you need this ahead of the defun replace in 2.6.8pre:

(deftype seqind nil `(integer 0 ,array-dimension-limit))

Take care,

John Lapeyre <lapeyre.math1...@gmail.com> writes:

> In gcl make-array with :initial-contents from a list
> is poorly implemented in that the copying is O(n^2).
> A test on one machine shows that initializing a
> list of length of 5 10^4 takes 1 minute in gcl and a few ms in sbcl.
>
> This potentially affects some code in the share directory.
>
> The relevant part of the gcl code in make-array is:
>
> ((= (length dimensions) 1)
>        (let ((x (si:make-vector element-type (car dimensions)
>                                 adjustable fill-pointer
>                                 displaced-to displaced-index-offset
>                                 static initial-element)))
>          (when initial-contents-supplied-p
>                (do ((n (car dimensions))
>                     (i 0 (1+ i)))
>                    ((>= i n))
>                  (declare (fixnum n i))
>                  (si:aset x i (elt initial-contents i))))
>          x))
>
> The following passed a quick test:
>
> ((= (length dimensions) 1)
>        (let ((x (si:make-vector element-type (car dimensions)
>                                 adjustable fill-pointer
>                                 displaced-to displaced-index-offset
>                                 static initial-element)))
>          (when initial-contents-supplied-p
>              (if (listp initial-contents)
>                  (do ( (e initial-contents (cdr e))
>                         (i 0 (1+ i)))
>                      ((null e))
>                    (declare (fixnum i))
>                    (si:aset x i (car e)))
>                (do ((n (car dimensions))
>                     (i 0 (1+ i)))
>                    ((>= i n))
>                  (declare (fixnum n i))
>                  (si:aset x i (elt initial-contents i)))))
>            x))
>
> -- John Lapeyre
> _______________________________________________
> Maxima mailing list
> max...@math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>
>
>
>

-- 
Camm Maguire                                        c...@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

_______________________________________________
Gcl-devel mailing list
Gcl-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/gcl-devel

Reply via email to