[m-dev.] Advice needed on GC related problem

Ralph Becket rafe at cs.mu.OZ.AU
Wed Jan 28 11:17:15 AEDT 2004


I've been trying to get stable benchmarking results for version arrays.
I think my program may be failing due to a GC problem; does anyone have
any advice on how to go about tracking it down?

The symptom is this:

[In ~rafe/mercury/vtypes]
$ mmc --make --grade hlc.gc -O5 --transitive-intermodule-optimization
varray_speed_test && ./varray_speed_test
Making Mercury/int3s/varray_speed_test.int3
Making Mercury/cs/varray_speed_test.c
Making Mercury/os/varray_speed_test.o
Making varray_speed_test

benchmark: 10000000 reversals of 2 items
[Time: +0.000s, 0.000s, C Stack: 0.204k,
#GCs: 1, Heap used since last GC: 1.273k, Total used: 64.000k]
map array time:      4159ms
[Time: +4.159s, 4.159s, C Stack: 0.204k,
#GCs: 5798, Heap used since last GC: 31.555k, Total used: 128.000k]
version array time:  4090ms  ratio: 1.02
[Time: +4.090s, 8.249s, C Stack: 0.204k,
#GCs: 5813, Heap used since last GC: 97321.191k, Total used:
313528.000k]
ordinary array time:  690ms  ratio: 5.92
[Time: +0.690s, 8.939s, C Stack: 0.204k,
#GCs: 5813, Heap used since last GC: 97322.312k, Total used:
313528.000k]

benchmark: 10000000 reversals of 2 items
[Time: +0.000s, 8.939s, C Stack: 0.204k,
#GCs: 5813, Heap used since last GC: 97323.398k, Total used:
313528.000k]

shell returned 137

The first run of 10000000 reversals is just there to stabilize the heap
(5797 GCs on the first map array test followed by only 15 for the first
version array test suggests to me that the heap is being repeatedly
expanded until the work being done fits within it.)

I don't understand why the second run of 10000000 reversals should cause
the program to abort.

Any pointers would be greatly appreciated,
-- Ralph
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list