Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Chris Hecker <checker@d6.com>
To: Shivkumar Chandrasekaran <shiv@ece.ucsb.edu>, caml-list@inria.fr
Subject: Re: [Caml-list] Slow GC problem
Date: Mon, 07 Apr 2003 11:08:06 -0800	[thread overview]
Message-ID: <4.3.2.7.2.20030407110109.0376f888@localhost> (raw)
In-Reply-To: <C626BC5D-6921-11D7-AEED-000393942C76@ece.ucsb.edu>


>I am concluding that gc is to blame.

Did you profile to check this assumption?  What's the profile look like?

>Pursuing my earlier enquiry: I noticed that module Bigarray allocated its 
>arrays using "malloc" rather than on the ocaml heap. My problem allocates 
>a lot (say 100,000) bigarrays of rather small size (say 30 x 30). Can this 
>potentially increase the cost of gc? (I have this mental picture of the 
>ocaml heap fragmented by these immovable malloc'd bigarrays.)

The malloc heap should be mostly separate from the caml heap (assuming the 
malloc heap is allocated in big chunks).  If you're really worried about 
this, write your own bigarray allocator (it's easy) and allocate them 
yourself out of an already allocated big block of memory.

Are you sure you're not paging?  100k 30x30 arrays is 360MB (or 720MB if 
you're using doubles).  Also, if you're constantly allocating and freeing 
bigarrays you might be more dependent on malloc speed than caml GC speed.

Best to post the profile.  Use the -p command to ocamlopt, or -ccopt and 
-cclib commands to use another profiler.  You can see examples of gc-bound 
profiles in the list archive.

Chris

-------------------
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


  reply	other threads:[~2003-04-07 18:13 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-04 19:40 Shivkumar Chandrasekaran
2003-04-03 21:07 ` Christophe Raffalli
2003-04-07 17:53 ` Shivkumar Chandrasekaran
2003-04-07 19:08   ` Chris Hecker [this message]
2003-04-08  7:15     ` David Monniaux
2003-04-08 10:28   ` Damien Doligez
2003-04-08 23:03     ` Shivkumar Chandrasekaran
2003-04-08 10:23 ` Damien Doligez
2003-04-10 21:21   ` Shivkumar Chandrasekaran
2003-04-10 21:51     ` Brian Hurt
2003-04-11  7:10     ` Chris Hecker
2003-04-11  7:58       ` Christophe Raffalli
2003-04-11 16:35         ` Shivkumar Chandrasekaran
2003-04-14 16:37 Shivkumar Chandrasekaran
2003-10-23  8:17 Chris Hecker

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=4.3.2.7.2.20030407110109.0376f888@localhost \
    --to=checker@d6.com \
    --cc=caml-list@inria.fr \
    --cc=shiv@ece.ucsb.edu \
    /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