caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Damien Doligez <damien.doligez@inria.fr>
To: kok@wtal.de, sevillar@team.ph.inter.net
Cc: caml-list@pauillac.inria.fr
Subject: Re: [Caml-list] Playing Soccer with OCaml
Date: Wed, 7 Nov 2001 17:11:22 +0100 (MET)	[thread overview]
Message-ID: <200111071611.RAA0000012122@beaune.inria.fr> (raw)

>From: "Rafael 'Dido' Sevilla" <sevillar@team.ph.inter.net>

>Which brings me to a somewhat related question: just how real-time is
>OCaml's runtime environment?

In short: it has pretty good latency characteristics, but no real-time
guarantees.


>  Is the garbage collection algorithm
>real-time, i.e. it uses its own thread to perform GC in parallel to
>processing or uses some other technique which guarantees that every cons
>performed has an upper bound on the amount of time it will take,
>regardless of GC?

Note that using a separate thread to perform GC in parallel does not
by itself guarantee real-time behaviour.


>  Most garbage collection algorithms I've seen are not
>real-time, in that they can potentially take an unbounded amount of time
>that depends on the number of allocated cells.

In a real-time GC system, the programmer gives a guarantee that the
program will never have more than a fixed amount (declared in advance)
of live data, and the system gives a bound on the time needed to
perform each allocation.  Note that this bound has to be quite low in
order to make the real-time guarantees meaningful.  The memory
management of Objective Caml has low latency almost all the time,
thanks to the incremental GC, but we do not give a guaranteed bound.
Going all the way to real-time behaviour would be doable (with a lot
of work), but it would incur a large overhead, which we are not ready
to impose on "normal" users (compilers and proof assistants).

That said, I have to add that the normal behaviour of Objective Caml
on modern machines should be good enough for interactive games.  But
if you try to run rocket control algorithms with O'Caml, don't blame
us if it fails.


>  For robotics and other
>real-time control and processing problems this is an important question.

That's right, but Objective Caml is mainly targetted at Unix systems,
which generally do not support real-time anyway.

-- Damien
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


             reply	other threads:[~2001-11-07 16:11 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-07 16:11 Damien Doligez [this message]
  -- strict thread matches above, loose matches on Subject: below --
2001-10-29 17:39 Kai Kaminski
2001-10-29 18:20 ` Alan Schmitt
2001-10-30 12:17 ` Xavier Leroy
2001-10-31  2:01 ` Rafael 'Dido' Sevilla
2001-11-08  8:31   ` Axel Poigné

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=200111071611.RAA0000012122@beaune.inria.fr \
    --to=damien.doligez@inria.fr \
    --cc=caml-list@pauillac.inria.fr \
    --cc=kok@wtal.de \
    --cc=sevillar@team.ph.inter.net \
    /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).