dynamic-extent form takes a very long time to compile
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
(defun dxf (x i) (elt x i))
(declaim (notinline dxf))
(defun f350 (a b)
(let ((v
(vector
(vector
2)
(max 36028797018963969 -2627932703771407
(if b 0 1)
(if b 2 3)
a
(if b 4 5)
; 1 2 3
(if b 6 7)
a
(if b 8 9)
(if b 10 11)
(if b 12 13)
(if b 14 15)
a
))))
(declare (dynamic-extent v))
(dxf v 1)))
The large defun there took nearly an hour to compile. Tweaking it by adding or removing arguments in the MAX form, there seems to be an exponential behavior in the algorithm.
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
9105ecaa6a40fcb 1997de68084d3df acf59074bb