On Wed, 29 May 2002, Mike Lambert wrote:
> Hey all, > > After finding out that life.pasm only does maybe 1KB per collection, and > Sean reminding me that there's more to GC than life, I decided to create > some pasm files testing specific behaviors. > > Attached is what I've been using to test and compare running times for > different GC systems. It's given a list of builds of parrot, a list of > tests to run, and runs each four times and takes the sum of them as the > value for that test. Then it prints out a simple table for comparing the > results. It's not really robust or easily workable in a CVS checkout > (since it operates on multiple parrot checkouts). > > Included are five tests of certain memory behaviors. They are: > > gc_alloc_new.pbc > allocates more and more memory > checks collection speed, and the ability to grow the heap > > gc_alloc_reuse.pbc > allocates more memory, but discards the old > checks collection speed, and the ability to reclaim the heap > > gc_header_new.pbc > allocates more and more headers > checks DOD speed, and the ability to allocate new headers > > gc_header_reuse.pbc > allocates more headers, but discards the old > checks DOD speed, and the ability to pick up old headers > > gc_waves_headers.pbc > total headers (contain no data) allocated is wave-like > no data, so collection is not tested > tests ability to handle wavelike header usage pattersn > > gc_waves_sizeable_data.pbc > buffer data (pointed to by some headers) is wave-like > a few headers, so some DOD is tested > mainly tests ability to handle wavelike buffer usage patterns > > gc_waves_sizeable_headers.pbc > total headers (and some memory) allocated is wave-like > sort of a combination of the previous two > each header points to some data, so it tests the collectors > ability to handle changing header and small-sized memory usage > > gc_generations.pbc > me trying to simulate behavior which should perform exceptionally > well under a genertaional collector, even though we don't have one :) > each memory allocation lasts either > a long time, a medium time, or a short time > > > Please let me know if there are any other specific behaviors which could > use benchmarking to help compare every aspect of our GCs? Real-world > programs are too hard to come by. :) Results of the above test suite on my > machine comparing my local GC work and the current parrot GC are coming > soon... > > Enjoy! > Mike Lambert > > PS: If you get bouncing emails from me because my email server is down, I > apologize, and I do know about it. My email server is behind cox's > firewall which prevents port 25 access. It should be relocated and online > again in a few days. > Committed all the .pasm under examples/benchmarks/ , thanks.