From: Xavier Leroy <Xavier.Leroy@inria.fr>
To: "David Mentré" <David.Mentre@irisa.fr>
Cc: Jean-Marc EBER <Jean-Marc.Eber@socgen.com>,
caml-list <caml-list@inria.fr>
Subject: Re: OCaml on IA-64
Date: Tue, 18 Jul 2000 22:49:32 +0200 [thread overview]
Message-ID: <20000718224932.21916@pauillac.inria.fr> (raw)
In-Reply-To: =?iso-8859-1?Q?=3Cwd88zv8eux8=2Efsf=40parate=2Eirisa=2Efr=3E=3B_from_Dav?= =?iso-8859-1?Q?id_Mentr=E9_on_Tue=2C_Jul_11=2C_2000_at_02=3A02=3A59PM_+0?= =?iso-8859-1?Q?200?=
> By the way, are there any aspects of Caml, like the functionnal part of
> the language, that allows more easy optimizations specific to IA-64
> architecture (for example definition and use of predicates, use of
> speculation, etc.) compared to usual imperative language like C? And at
> the opposite, are there any Caml features that are difficult to compile
> on such an architecture?
Tricky question. Nowadays, both OCaml and gcc fail to exploit any of
the advanced features of the IA64, and treat it basically like a
conventional RISC with lots of registers and rather picky scheduling
constraints in basic blocks.
Also, many of the IA64 innovations seem to have been designed with
Fortran in mind (e.g. the loop scheduling support), so it's unclear
whether other languages can really take advantage of them.
This said, I'll venture a guess: it could be that loads and stores can be
scheduled more aggressively in OCaml than in C, because the OCaml type
system offers more non-aliasing information (e.g. stores into
immutable data types are always initializing loads and are guaranteed
not to interfere). On the other hand, OCaml programs tend to perform
more loads than C programs...
Another guess: for lazy languages like Haskell, predication could
prove very useful to handle the two cases "evaluated already" and "not
evaluated yet" without any branch penalty.
Lots of issues to explore...
- Xavier Leroy
prev parent reply other threads:[~2000-07-19 15:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-07-07 11:36 OCaml on IA-64 (was "About Ocaml and Sourceforge") Jean-Marc EBER
2000-07-07 19:58 ` OCaml on IA-64 Xavier Leroy
2000-07-11 12:02 ` David Mentré
2000-07-18 20:49 ` Xavier Leroy [this message]
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=20000718224932.21916@pauillac.inria.fr \
--to=xavier.leroy@inria.fr \
--cc=David.Mentre@irisa.fr \
--cc=Jean-Marc.Eber@socgen.com \
--cc=caml-list@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