Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Slow GC problem
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Shivkumar Chandrasekaran <shiv@e...>
Subject: [Caml-list] Slow GC problem
I have a gc efficiency problem for which I require some advice. I have 
read both the O'Reilly book and the manual on gc.

I am implementing a fast direct matrix solver for 2D PDEs. So it uses 
the Bigarray module a lot. I have two versions of my algorithm. On is 
an in-core algorithm and the other is the same solver, except that it 
is out-of-core (most of the matrices are stored in disk files). 
Unfortunately the out-of-core solver  is *faster* than the in-core 
solver for the identical problem! I was expecting the out-of-core 
solver to be 10 times slower. I am concluding that gc is to blame. 
Below I give the gc stats just before and after the solver routine is 
called in the in-core solver:

				"Just before"	"Just after"
minor_words:		46243376	139259767
promoted_words:	928267		2595523
major_words:		2883087		39489766
minor_collections:	1412		4591
major_collections:	18			52
heap_words:		2150400		1044480
heap_chunks:		35			17
top_heap_words:	2150400		5038080
live_words:		1842373		840037
live_blocks:		253926		116816
free_words:		307180		204440
free_blocks:		47368		17
largest_free:		10928		61440
fragments:		847			3
compactions:		0			2

I tried changing some parameters using Gc.set but it did not make a 
significant difference. Does anybody see any obvious gc problems from 
the above data? Thanks,


PS: I wrote the out-of-core solver in just 3 days once the in-core 
solver was done, all in O'Caml. This would have have taken much longer 
in Fortran/C. Thanks to the O'Caml team.

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: