Number: 190

Date: 19-Mar-84 17':02':52

Submitter: Sannella.PA

Source: Feuerman.pasa,JonL

Subject: Document in Performance section about how to defer GC, find storage leaks

Assigned To: 

Attn: Documentation

Status: Open

In/By: 

Problem Type: Documentation

Impact: Moderate

Difficulty: Hard

Frequency: Everytime

Priority: Unlikely

System: Language Support

Subsystem: Storage Formats/Mgt

Machine: 

Disk: 

Lisp Version: 26-Jan-84

Source Files: 

Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 

Disposition: '
["masinter" " 4-Sep-84 14':28':52" Source': Subject':]

Description: '
Date': 19 Mar 84 08':40 PST'
From': Feuerman.pasa'
Subject': Lisp': Garbage Collection'
To': LispSupport.pa'
cc': Feuerman.pasa'
Lisp-System-Date': 26-Jan-84 01':48':36'
Machine-Type': Dolphin'
'
Is there some way to temporarily turn off the garbage collection routine?  I realize I may be getting into trouble with this, but it''s something I want to look into.  The reason is that I''m trying to speed up a particular interactive routine, and everytime I call the routine, the cursor inverts for a good second or so before the user actually sees that the routine is being invoked.  The fact that we go through a garbage collection everytime I invoke the procedure probably means somthing, too.  Anybody know what that is?   How much trouble could I be getting into if I were to disable the reclaim temporarily until the routine was over?'
'
--Ken.'
'
-----'
'
Date': 19 Mar 84 17':18 PST'
From': Masinter.pa'
Subject': Re': AR 190': How to turn off GC ?'
In-reply-to': LispSupport.pa''s message of 19 Mar 84 17':03':38 PST (Monday)'
To': LispSupport.pa'
cc': Feuerman.pasa, Masinter.pa'
'
This is not so much TURNING OFF the GC as it is temporarily deferring its work.'
'
You can modify the time-until-next-GC by setting RECLAIMMIN high before the operation (I believe 177777Q is the actual limit) and then setting it low, e.g.'
'
(RECLAIMMIN (PROG1 (RECLAIMMIN MAX.SMALLP) <dooperation>]'
'
Ken, you should also find out why your routine is CONSing so much. TIMEALL, BREAKDOWN, and DOSTATS may be able to help you track it down. '
'
Please report any problems you have in tracking down the source of all of the GC activity.'
'
[to': LispSupport': this AR is not Fixed, but it may be type': Documentation]'
'
-----'
'
Date': 19 MAR 84 18':21 PST'
From': JONL.PA'
Subject': Re': Lisp': Garbage Collection'
To':   Feuerman.pasa, LispSupport'
cc':   JONL'
'
In response to the message sent  19 Mar 84 08':40 PST from Feuerman.pasa'
'
You could just adjust the GC parameters -- see page 18.2 of the new manual --'
and that would postpone the interval between reclaims.'
'
On the other hand, if you have a Dorado, you can call (DISABLEGC) and all the'
GC activity is shut down (unfortunately, you can''t then re-enable it).  The'
reason you need a dorado is that there is a subtle buggy interaction between'
the software and microcode after DISABLEGC has been called and I don''t think'
the other microcoders have taken the time to track it down and fix it [I did'
because I needed to run a benchmark -- the BOYER test -- with no GC running.'
SIgh, it ran slower because the dominating cost was page swap time].'
'


Workaround: 

Test Case: 

Edit-By: masinter

Edit-Date:  4-Sep-84 14':28':54