English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
GC hangs application
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Paul Steckler <Paul.Steckler@n...>
Subject: GC hangs application
I have an OCaml application that does a lot of string manipulations, generating a
lot of garbage.  After running awhile, it seems not to make any progress.  The exact
point where it hangs varies.  The strings aren't very large, but there a lot of them.

By increasing the size of the minor heap, the application runs much longer.
And if I turn on Gc.verbose, I see output from the garbage collector just before
the app hangs.  I mean, there's a print diagnostic in my code on one line, I see
the Gc output, and the print diagnostic on the next line of my code never appears.

The problem occurs whether I compile to byte-code or native (Linux x64) code.

At first, I thought  the hanging problem was due to network code blocking.  But I rewrote
that to be multithreaded -- no difference.  I changed some other code to use Buffers
instead of strings, and by generating less garbage, the code went farther.

Are there known issues with the OCaml gc?  I'm using OCaml 3.11 on Fedora 12.

-- Paul
Paul Steckler
National ICT Australia
paul DOT steckler AT nicta.com.au

The information in this e-mail may be confidential and subject to legal professional privilege and/or copyright. National ICT Australia Limited accepts no liability for any damage caused by this email or its attachments.