|
From: | Miroslav Silovic |
Subject: | Re: GUILE GC -- Write barrier for vectors |
Date: | Mon, 15 Jul 2002 12:56:28 +0200 |
User-agent: | Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.0) Gecko/20020530 |
address@hidden wrote:
I had a similar problem when working with a large number of vector-like things - basilly my application would trigger GC more often than necessary. The reason was that I didn't properly report bytes allocated to Guile (i.e. my use of scm_must_malloc was broken).Linked against 1.7.0 without-threads, lily uses approximately 20% of its time in GC on a 400 mhz PII/SDRAM. In another instance, the same compile with lilypond linked against 1.5.6 on a 1Ghz PIII/DDR RDRAM, uses approximately 50% of the total running time (!) for GC'ing. Can anyone comment on the difference in running times? I didn't see much in the changelog that could explain this difference. Could it be that there is some anomaly that causes the timings to be skewed on the fast machine? The total speed increase going from the 400mhz machine to the 1ghz is consistent with the clock freqs. Can anyone comment on how to improve the performance?
If you're reporting too much, the GC will trigger all the time. Alternatively, if you're reporting more alloc than freed bytes, you'll get bytes counter mismatch (VERY similar to memory leak),
and this will completely confuse GC scheduler. Miro
[Prev in Thread] | Current Thread | [Next in Thread] |