Raymond Toy wrote:

> >>>>> "William" == William Brew <[EMAIL PROTECTED]> writes:
>
>     William> I tried the experiment in the 2004_04 snapshot and purify works fine.
>
> Yay!  But this is odd.  I don't really think anything changed that
> would make purify work.
>
>     William> However, I tried building my application in the 2004_04
>     William> snapshot and there are some serious problems.
>
> Boo!
>
>     William>    - The compiler (or something related) seems to have slowed down 
> dramatically.
>     William>       The compile and load time for my application went from 47 minutes 
> in the 2003_12
>     William>       snapshot to 116 minutes in the 2004_04 snapshot.
>
> A diff between those two versions doesn't really show anything
> obvious.  The diffs are pretty minor.
>
>     William>    - When I save a core file and try to restart, there
>     William>      are very varying results.  The most common result is
>     William>      a div by zero error in something very very early
>     William>      (i.e.. before the herald is even printed).  Trying
>     William>      to get a back trace fails.  The behavior seems to be
>     William>      related to the size of the saved application -- I do
>     William>      partial loads of the application (with a save) and
>     William>      depending on where I draw the line, the new core
>     William>      either starts up fine or doesn't.  There seems to be
>     William>      some indication that the problem happens when
>     William>      loading the site init file (I traced a few of the
>     William>      functions that get run a startup and the div by 0,
>     William>      when it happens, happens somewhere in the load of
>     William>      the site init file.)
>
> How big is the core?  What is the heap size before you save your
> application?  Does doing a GC before saving a core make a difference?

Core is 25,255,936 bytes

Heap info:
--------------------------------------------
;;; explicit gc

; [GC threshold exceeded with 7,783,992 bytes in use.  Commencing GC.]
; [GC completed with 7,780,160 bytes retained and 3,832 bytes freed.]
; [GC will next occur when at least 27,780,160 bytes are in use.]
NIL

;;; freebie gc caused by ext::save-lisp

*
; [GC threshold exceeded with 7,785,536 bytes in use.  Commencing GC.]
; [GC completed with 6,104,232 bytes retained and 1,681,304 bytes freed.]
; [GC will next occur when at least 26,104,232 bytes are in use.]
[Undoing binding stack... done]
[Saving current lisp image into /tmp/xcore:
Writing 22556752 bytes from the Read-Only space at 0x10000000.
Writing 2675024 bytes from the Static space at 0x28000000.
Writing 3728 bytes from the Dynamic space at 0x40000000.
done.]
-----------------------------------------------

GC before save makes no difference

As noted in a previous message, the problem only happens when :purify NIL
is used when saving.

-bill-

>
>
> I think it will be difficult to find anything without the source code.
>
> Ray


Reply via email to