From: "Basile Starynkevitch [local]" <basile.starynkevitch@inria.fr>
To: Nicolas Cannasse <warplayer@free.fr>, caml-list@inria.fr
Subject: Re: [Caml-list] [ANN] new release of OcamlJitRun - release 1.5-fetnat
Date: Sun, 11 Jul 2004 08:21:04 +0200 [thread overview]
Message-ID: <20040711062104.GA26819@bourg.inria.fr> (raw)
In-Reply-To: <000e01c466d3$aef06820$0100a8c0@warp>
On Sun, Jul 11, 2004 at 01:14:40AM +0200, Nicolas Cannasse wrote:
> [...]
(Citing me, Basile S.)
Basile>> I am seeking significant Ocaml programs (compilable as bytecode with
Basile>> future 3.08 or latest CVS) running more than half a minute of CPU (on
Basile>> eg a 2GHz x86 PC) - and if possible less than 20 or 30 minutes of
Basile>> CPU. Please suggest me some such programs. Neither Coq, nor CIL or
Basile>> MetaOcaml are easily compilable with future 3.08 or recent CVS Ocaml -
Basile>> because of ocamlp4 changes (the ABI for locations has changed) or C
Basile>> primitive names (the C primitives routines have now a name starting
Basile>> with caml_ and some programs incorrectly use the name of internal
Basile>> primitive in the runtime).
> Hello Basile, and thanks for your work on JIT. I didn't have time yet to
> give it a try, but I might do in a near future. One suggestion of typical
> OCaml application that performances could be compared is the ocaml compiler
> ocamlc itself, running on a large set of files : the ocamlc sources for
> example. Creation and manipulation of AST as well as typing algorithms are
> good test apllications (heavy use of recursive functions and pattern
> matching).
This is of course a test I'm using very often. However, most ocamlc
(or even ocamlopt) compilations are very short (typically, each ocamlc
invocation last less than 0.1 or 0.2 second), so the JIT translation
time is not at all negigible (it takes about 0.13 seconds on an AMD
2000 running at 1.66GHz). And since the JIT translation occurs in
every ocamlc process, you may actually observe an overall
slowdown. For example, in ocaml/stdlib make runs in 5.2 seconds, but
make RUNTIME=ocamljitrun takes 14.4 seconds (because ocamlc was invoked
84 times, and the bytecode was JIT translated 84 times)
On big compilation (in a single ocamlc or ocamlopt process),
OcamlJitRun gives a speedup of about 2. For example, the C-- compiler
contains a x86imkasm.ml file (of 3253 lines) which is compiled by
ocamlopt (with the bytecode interpreter ocamlrun) in 59.8 sec, and by
the same ocamlopt bytecode interpreted by ocamljitrun in 30.3 sec. For
reference, the native ocamlopt.opt does the same job in 17.2 sec.
Another interesting test would be a non-trivial toplevel
execution (The toplevel can be executed by OcamlJitRun, as avery
other bytecode), or programs using DynLink.
Thanks for your comments.
Regards.
--
Basile STARYNKEVITCH -- basile dot starynkevitch at inria dot fr
other email : basile at starynkevitch dot net
Project cristal.inria.fr - phone +33 1 3963 5197 - mobile 6 8501 2359
http://cristal.inria.fr/~starynke --- all opinions are only mine
-------------------
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
next prev parent reply other threads:[~2004-07-11 6:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-10 22:04 Basile Starynkevitch [local]
[not found] ` <000e01c466d3$aef06820$0100a8c0@warp>
2004-07-11 6:21 ` Basile Starynkevitch [local] [this message]
[not found] ` <40F08131.2000907@socialtools.net>
2004-07-11 6:22 ` Basile Starynkevitch [local]
2004-07-11 10:31 ` Benjamin Geer
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=20040711062104.GA26819@bourg.inria.fr \
--to=basile.starynkevitch@inria.fr \
--cc=caml-list@inria.fr \
--cc=warplayer@free.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