Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Edgar Friendly <thelema314@gmail.com>
To: caml-list@yquem.inria.fr
Subject: Re: [Caml-list] Re: gc overhead
Date: Tue, 02 Mar 2010 20:58:30 -0500	[thread overview]
Message-ID: <4B8DC246.2080507@gmail.com> (raw)
In-Reply-To: <64042246-59C5-4B75-B5A9-6FDF7A2814AE@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1958 bytes --]

On 03/02/2010 06:09 PM, Warren Harris wrote:
>
> On Mar 2, 2010, at 2:03 PM, Sylvain Le Gall wrote:
>>
>> You can have a look at:
>> http://ocamlviz.forge.ocamlcore.org
>>
>> This allow to instrument your code and watch GC activity. I think that
>> with a little a little help on program side, you can be quite precise
>> about GC without using gprof at all. This should also be more
>> lightweight than gprof.
>
> Sylvain,
>
> Thanks! This looks very promising. I'll give it a try.
>
> Warren
>
I'd like to add my personal experience with ocamlviz - it's a great 
program, and has helped me a ton find unexpected performance.  It has 
very good functions for starting and stopping timers that the gui can 
monitor in realtime, and associating these with counts of how many times 
your program reached a certain point can give good understanding of 
function call cost.  It's memory profiler makes a very pretty graph of 
how much memory is in use by your program.  I've also gotten started 
using its ability to watch the live value of ref values to monitor the 
state of the program easier than [eprintf]s, especially monitoring the 
state of many variables at once.  It's very fast and the ability to 
debug over the network has come in handy more than once.

This said, I've wanted to measure GC overhead with it, and found it 
lacking in that regard.  If anyone finds a way to do this, I'm interested.

I've not done much with its tree viewer, and the hashtbl monitor only 
indicated that the Hashtbl.t I was using had an amazingly horrible hash, 
and was filling only 3% of its buckets, and had thousands of entries in 
a few buckets.  I tried to fix the hash, but ended up switching to a Map.

Lastly, the ability to mark in memory certain values and have it count 
the total usage and/or count of those values seems interesting, but gets 
quite slow.  I've not had much luck with it.

Overall, good job.  But is it going to die or stay maintained?
E

[-- Attachment #2: Type: text/html, Size: 2673 bytes --]

  reply	other threads:[~2010-03-03  1:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-01  0:16 Warren Harris
2010-03-01  8:54 ` [Caml-list] " Richard Jones
2010-03-02 20:11   ` Warren Harris
2010-03-02 21:01     ` Peter Hawkins
2010-03-02 23:08       ` Warren Harris
2010-03-03  0:55         ` Peter Hawkins
2010-03-03  7:06           ` Warren Harris
2010-03-03  8:33             ` David MENTRE
2010-03-02 22:03 ` Sylvain Le Gall
2010-03-02 23:09   ` [Caml-list] " Warren Harris
2010-03-03  1:58     ` Edgar Friendly [this message]
2010-03-03  8:12       ` Sylvain Le Gall
2010-03-03  8:49 ` [Caml-list] " Olivier Andrieu
2010-03-03 11:11 ` Goswin von Brederlow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4B8DC246.2080507@gmail.com \
    --to=thelema314@gmail.com \
    --cc=caml-list@yquem.inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox