Version française
Home     About     Download     Resources     Contact us    
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: Christophe Raffalli <christophe.raffalli@u...>
Subject: Re: [Caml-list] Slow GC problem
Shivkumar Chandrasekaran wrote:
> 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.

If your in-core version is swapping, your out-core is faster because you 
optimize yourself the disk access compared to the swapping which knows 
nothing about your data and algorithm. Moreover, at GC time all the 
matrices/vectors need to be accessed and this produces more swapping ...

  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,
> 
> --shiv--
> 
> 
> 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 caml-list-request@inria.fr Archives: 
> http://caml.inria.fr
> Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: 
> http://caml.inria.fr/FAQ/
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners

-- 
Christophe Raffalli
Université de Savoie
Batiment Le Chablais, bureau 21
73376 Le Bourget-du-Lac Cedex

tél: (33) 4 79 75 81 03
fax: (33) 4 79 75 87 42
mail: Christophe.Raffalli@univ-savoie.fr
www: http://www.lama.univ-savoie.fr/~RAFFALLI
---------------------------------------------
IMPORTANT: this mail is signed using PGP/MIME
At least Enigmail/Mozilla, mutt or evolution
can check this signature
---------------------------------------------