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] local root registration
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Michel Quercia <michel.quercia@p...>
Subject: Re: [Caml-list] local root registration
Le Fri, 22 Feb 2002 13:06:16 +0100
Winfried Dreckmann <> écrivit :

> I am thinking of cases, where one uses resizable blocks, which are only
> occasionally resized, while usually nothing gets allocated. A good
> example is Michel Quercia's "Numerix"...

Le Fri, 22 Feb 2002 15:27:41 +0100
Markus Mottl <> écrivit :

> If I am not seriously mistaken, only allocations on the OCaml-heap can
> trigger a collection. There is just a small overhead associated with
> (un)registering OCaml-values as reachable, but it's certainly a good
> idea to remove every kind of unnecessary overhead in
> performance-critical code.

You are both right, the main reason for protecting begin_roots/end_roots
calls behind a capacity check in Numerix is speed performance, especially
for mutable big integers which are designed to achieve the highest speed
that is possible. But this is not the whole story : I also had to take
into account old versions of Ocaml as well as Caml-light (still in use in
our French National Education) for which there is only
begin_roots/end_roots or push_roots/pop_roots available.

Michel Quercia
57 rue abbé Grégoire, 38000 Grenoble (maths) (informatique)
To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: