gcl-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]