On Wed, Sep 04, 2002 at 08:07:21PM +0200, Peter Gibbs wrote: > For anybody who may be interested, the latest news from the > pirate cave follows. > > Recent changes: > * New aligned memory page allocator > * Above allocator used for PMC/buffer header arenas and memory > pool pages; this has allowed removal of the pointer from buffer > headers to their pool header > * Calculation of reclaimable space in memory pools removed, as > it is currently unreliable (COW and early-exit from compact_pool) > * string_compare uses memcmp for compatible strings > * new string vtable function for extracting substrings (only > implemented for singlebyte in current patch) > > Latest results of life.pasm: > African Grey > 5000 generations in 59.180210 seconds. 84.487703 generations/sec > A total of 131072 bytes were allocated > A total of 61024 DOD runs were made > A total of 1105 collection runs were made > Copying a total of 614136 bytes > There are 71 active Buffer structs > There are 914 total Buffer structs
Twice as fast seems like a good thing. Is this with the stackwalk disabled? What prevents this from being applied to Parrot now? Is there an easy way to see how many of those collection runs were complete, or the total number of pages collected and the total number that could have been collected, or some sort of statistic that indicates how often the paged collections kick in? I'm sure I'm using the wrong terminology. Java has minor and major collections for a vaguely similar distinction. They also have timing statistics, which could be interesting -- would it be easy to wrap DOD and collect with gettimeofday() calls, and print out the total amount of time doing each?