caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Christophe Raffalli <christophe.raffalli@univ-savoie.fr>
To: John Whitington <john@coherentgraphics.co.uk>
Cc: OCaml <caml-list@inria.fr>
Subject: Re: [Caml-list] Stack size on OS X
Date: Mon, 30 Nov 2009 22:52:19 +0100	[thread overview]
Message-ID: <4B143E93.6070702@univ-savoie.fr> (raw)
In-Reply-To: <0B58D6B2-D154-4D52-9F93-3A0E000FAE37@coherentgraphics.co.uk>

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

John Whitington a écrit :
> Christophe,
>
> On 30 Nov 2009, at 15:26, Christophe Raffalli wrote:
>   
>> It seems that the problem of stack size is still not solved in OS X (limited to 8Mo by default and
>> hard limit in the kernel to 64Mo with ulimit -s 64000). My unison is still crashing on
>> very big changes ...
>>
>> However, I stumbled on this pdf
>>
>> http://www.google.fr/url?sa=t&source=web&ct=res&cd=1&ved=0CAcQFjAA&url=http%3A%2F%2Fhomepage.mac.com%2Feric.c%2Fhpc%2Fcontents%2Fdocumentation%2FHow%2520to%2520increase%2520the%2520stack%2520size%2520on%2520Mac%2520OS%2520X.pdf&ei=v-MTS4aMG4Wj_AbFmok2&usg=AFQjCNH1qCjydtM1doAdtwtTJxaEAmwLSw&sig2=u9faAiBSuB7v-VzvHDPHRA)
>>
>> (This is the first hit on google with "increasing stack size on OS X")
>>
>> which explain how to use -stack-addr and -stack-size in the gnu linker to change the stack address
>> and size.
>>
>> Did anyone try this on OS X for OCaml program ?
>>
>> I think stack limitation, for a functional program is not good and it is even worse when the limit
>> depends upon the platform.
>>     
>
> You may find that a small number of changes to the source code can prevent excess stack usage - it may not be riddled through the whole program. On an Intel macintosh, you can get the list of exceptions leading to the stack overflow from OCaml, and work through them to find the source of the problem.
>
>   
Yes, you can always use heap instead of stack, but stack allocation and
deallocation is faster (but sometimes hard to tell
how mush stack space a call cost, and some call can keep useless
pointers accessible if you are not carefull,
although quite rare in OCaml).
> On first compiling my codebase (about 100,000 lines) on a machine with limited stack size, it took only about a day to fix up.
>
> I agree that, morally, stack space available and general memory available should be roughly equivalent concepts (like with Linux), but sometimes it's easier to give in - after all, how are you to estimate the size you actually need accurately?
>   
I do not understand what you mean ? stack size + heap size = maximum of
available memory as in linux is the best ?

Cheers,
Christophe
> Cheers,
>
>   



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]

  reply	other threads:[~2009-11-30 21:52 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-30 15:26 Christophe Raffalli
2009-11-30 16:07 ` [Caml-list] " John Whitington
2009-11-30 21:52   ` Christophe Raffalli [this message]
2009-11-30 22:21     ` John Whitington

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=4B143E93.6070702@univ-savoie.fr \
    --to=christophe.raffalli@univ-savoie.fr \
    --cc=caml-list@inria.fr \
    --cc=john@coherentgraphics.co.uk \
    /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;
as well as URLs for NNTP newsgroup(s).