4 ;#+sb-fasteval (setq sb-ext:*evaluator-mode* :compile)
8 (defun test-0 (n &optional
(depth 0))
9 (declare (optimize (debug 3)))
13 (test-0 n
(1+ depth
)))))
16 (sb-sprof:with-profiling
(:reset t
:max-samples
1000 :report
:graph
)
22 (push (make-array 10) junk
))
25 (defun consing-test ()
26 ;; 0.0001 chosen so that it breaks rather reliably when sprof does not
27 ;; respect pseudo atomic.
28 (sb-sprof:with-profiling
(:reset t
29 ;; setitimer with small intervals
30 ;; is broken on FreeBSD 10.0
31 ;; And ARM targets are not fast in
32 ;; general, causing the profiling signal
33 ;; to be constantly delivered without
34 ;; making any progress.
35 #-
(or freebsd arm
) :sample-interval
36 #-
(or freebsd arm
) 0.0001
37 #+arm
:sample-interval
#+arm
0.1
38 :report
:graph
:loop nil
)
39 (let ((target (+ (get-universal-time) 15)))
42 (loop while
(< (get-universal-time) target
)
45 #-
(or win32 darwin
) ;not yet
47 #-
(or win32 darwin
) ;not yet
50 ;; For debugging purposes, print output for visual inspection to see if
51 ;; the allocation sequence gets hit in the right places (i.e. not at all
52 ;; in traditional builds, and everywhere if SB-SAFEPOINT-STRICTLY is
54 #+nil
(disassemble #'consalot
)