[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: how much does a fork cost; how much "should" it?
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: how much does a fork cost; how much "should" it? |
Date: |
02 Nov 2005 10:58:37 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings! Here is an example of the stack allocation in the child
idea:
>(defvar *a* '( 1 2 3 4 5 6 7))
*A*
>(defun bar nil (si::p-let ((a (member 3 *a*)) (b (member 6 *a*))) (values a
>b)))
BAR
>(compile 'bar)
;; Compiling ./gazonk11.lsp.
;; End of Pass 1.
;; End of Pass 2.
;; OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, Speed=3,
(Debug quality ignored)
;; Finished compiling ./gazonk11.o.
Loading /fix/t1/camm/debian/gcl/tmp/tmp/foo/unixport/gazonk11.o
start address -T 0x1193ff0 Finished loading
/fix/t1/camm/debian/gcl/tmp/tmp/foo/unixport/gazonk11.o
#<compiled-function BAR>
NIL
NIL
>(bar)
got (nil)
got (nil)
(3 4 5 6 7)
(6 7)
>(let ((si::*child-stack-alloc* 10)) (bar))
got 0x196dea8
got 0x196de68
(3 4 5 6 7)
(6 7)
>si::*child-stack-alloc*
NIL
>(eq (member 3 *a*) (bar))
got (nil)
got (nil)
NIL
>(equal (member 3 *a*) (bar))
got (nil)
got (nil)
T
>(eq (member 3 *a*) (let ((si::*child-stack-alloc* 10)) (bar)))
got 0x196dea8
got 0x196de68
T
>
More testing needed.
Take care,
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah