92 |
alloced memory, which won't go away on GC. Let's set the init such |
alloced memory, which won't go away on GC. Let's set the init such |
93 |
that we get a nice yield on the next allocation: |
that we get a nice yield on the next allocation: |
94 |
*/ |
*/ |
95 |
#define SCM_DEFAULT_INIT_MALLOC_LIMIT 200000 |
#define SCM_DEFAULT_INIT_MALLOC_LIMIT 200*1024 |
96 |
#define SCM_DEFAULT_MALLOC_MINYIELD 40 |
#define SCM_DEFAULT_MALLOC_MINYIELD 40 |
97 |
|
|
98 |
|
|
203 |
scm_igc (what); |
scm_igc (what); |
204 |
scm_i_sweep_all_segments("mtrigger"); |
scm_i_sweep_all_segments("mtrigger"); |
205 |
|
|
206 |
yield = (prev_alloced - scm_mallocated) / (float) prev_alloced; |
yield = (prev_alloced - scm_mallocated) / (float) prev_alloced; |
207 |
|
scm_gc_malloc_yield_percentage = (int) (100 * yield); |
208 |
/* |
/* |
209 |
fprintf (stderr, "prev %lud , now %lud, yield %4.2lf, want %d", |
fprintf (stderr, "prev %lud , now %lud, yield %4.2lf, want %d", |
210 |
prev_alloced, scm_mallocated, 100.0*yield, scm_i_minyield_malloc); |
prev_alloced, scm_mallocated, 100.0*yield, scm_i_minyield_malloc); |
225 |
/* |
/* |
226 |
fprintf (stderr, "Mtrigger sweep: ineffective. New trigger %d\n", scm_mtrigger); |
fprintf (stderr, "Mtrigger sweep: ineffective. New trigger %d\n", scm_mtrigger); |
227 |
*/ |
*/ |
|
|
|
|
|
|
228 |
} |
} |
229 |
|
|
230 |
|
|
231 |
} |
} |
232 |
|
|
233 |
#ifdef GUILE_DEBUG_MALLOC |
#ifdef GUILE_DEBUG_MALLOC |