List Info

Thread: Re: alien use causes gratuitous GC




Re: alien use causes gratuitous GC
user name
2007-12-21 18:49:29
--- Carl Shapiro <carl.shapirogmail.com> wrote:
> Without seeing your code it is hard to know what could
be going wrong
> for you.  Do you have a small test case that
demonstrates the
> excessive heap allocations in your application?

Hi, Carl,

That's certainly a reasonable question, but I'm afraid that
I don't
have a small test case. I would have to package up the
foreign
libraries and the Lisp interface code, which is
idiosyncratic and
complicated by the requirements of the C code. I don't know
whether
something similar would happen with a small C function that
performs
several callbacks, and I was wondering if this is a shared
problem.

The output looks like screen after screen of the following
with the
occasional printout from the main program. I'm not sure
what's being
compiled at this point during runtime.  I have a secondary
implementation that uses a simple ODE solver written in Lisp
that is
designed to use the same input as the C library.  In that
case, I don't
get any "Compiling" messages, and things run at a
more reasonable
speed.

Best,

Will

; Compiling LAMBDA (G1965 G1966 G1967):
; Compiling Top-Level Form:
; [GC threshold exceeded with 76,513,752 bytes in use. 
Commencing GC.]
; [GC completed with 69,991,272 bytes retained and 6,522,480
bytes
freed.]
; [GC will next occur when at least 81,991,272 bytes are in
use.]
; [GC threshold exceeded with 82,002,784 bytes in use. 
Commencing GC.]
; [GC completed with 75,379,416 bytes retained and 6,623,368
bytes
freed.]
; [GC will next occur when at least 87,379,416 bytes are in
use.]
; [GC threshold exceeded with 87,390,832 bytes in use. 
Commencing GC.]
; [GC completed with 80,823,480 bytes retained and 6,567,352
bytes
freed.]
; [GC will next occur when at least 92,823,480 bytes are in
use.]
; [GC threshold exceeded with 92,839,432 bytes in use. 
Commencing GC.]
; [GC completed with 86,200,272 bytes retained and 6,639,160
bytes
freed.]
; [GC will next occur when at least 98,200,272 bytes are in
use.]
; [GC threshold exceeded with 98,213,680 bytes in use. 
Commencing GC.]
; [GC completed with 91,638,016 bytes retained and 6,575,664
bytes
freed.]
; [GC will next occur when at least 103,638,016 bytes are in
use.]
; [GC threshold exceeded with 103,646,296 bytes in use. 
Commencing
GC.]
; [GC completed with 81,131,016 bytes retained and
22,515,280 bytes
freed.]
; [GC will next occur when at least 93,131,016 bytes are in
use.]
; [GC threshold exceeded with 93,142,888 bytes in use. 
Commencing GC.]
; [GC completed with 86,548,976 bytes retained and 6,593,912
bytes
freed.]
; [GC will next occur when at least 98,548,976 bytes are in
use.]
; Compiling LAMBDA (G1968):
; Compiling Top-Level Form:
; Compiling LAMBDA (G1969 G1970):
; Compiling Top-Level Form:



Re: alien use causes gratuitous GC
user name
2007-12-21 20:12:02
Will wrote:
> --- Carl Shapiro <carl.shapirogmail.com> wrote:
>   
>> Without seeing your code it is hard to know what
could be going wrong
>> for you.  Do you have a small test case that
demonstrates the
>> excessive heap allocations in your application?
>>     
>
> Hi, Carl,
>
> That's certainly a reasonable question, but I'm afraid
that I don't
> have a small test case. I would have to package up the
foreign
> libraries and the Lisp interface code, which is
idiosyncratic and
> complicated by the requirements of the C code. I don't
know whether
> something similar would happen with a small C function
that performs
> several callbacks, and I was wondering if this is a
shared problem.
>
>   
If it's not too large, could you just send the Lisp callback
routines?  
That should give some hints on what's happening even if we
don't have 
the foreign libraries.

Ray



[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )