From: "Nicolas Cannasse" <warplayer@free.fr>
To: <caml-list@inria.fr>,
"Basile Starynkevitch [local]" <basile.starynkevitch@inria.fr>
Subject: Re: [Caml-list] Re: (GC issues) Alternative Bytecodes for OCaml
Date: Sun, 29 Aug 2004 12:12:05 +0200 [thread overview]
Message-ID: <005101c48db0$a2da9110$0100a8c0@warp> (raw)
In-Reply-To: <20040828204554.GA9252@bourg.inria.fr>
> > * OCaml GC but with all C allocations made directly into the old
> > generation (for conservativness)
>
> You still has to tell the (exact) minor collector about these
> allocations (ie something like putting them on the store list) - so
> you won't gain much in C coding style, and you'll lose in
> performance. The result of C primitives is usually a temporary value
> (e.g. because C primitives tend to be wrapped by Ocaml code doing
> checking and changing C errors into Ocaml exceptions), so you'll
> probably better put then in the young generation.
Since old generation collection is mostly conservative (compaction taken
appart) , allocating *by default* into the old generation and having a C
stack scanner could be a good compromise. The cases where the GC would not
be 'exact' is when the C code is calling back OCaml code, this might leave
several C values on the stack that might be mistaken with GC pointers.
Previous stack (before the interpreter loop) would not be scanned, neither C
globals so in most of the cases, no C stack would have to be scanned . That
leaves open the problem of distinction of C stacks vs OCaml stacks in native
mode... For performances issues, still using the CAML* macros and allocation
directly into the young generation would still be available.
> This interesting discussion triggers another interesting question:
> would Ocaml coders still use Ocaml if its implementation was (say) 3
> or 10 times slower than the current implementation? Alternatively, do
> people use my OcamlJitRun program which could provide (on several
> programs) a speedup of nearly 2 on their bytecode program (which don't
> have to be changed neither in their C primitives nor in the byteocde,
> hence the Ocaml source code).
The applications I'm writting are mainly speed critical (compilers,
generators), and deployed on box which does not have OCaml installed. Being
able to compile standalone native executables is a great thing and help a
lot for deployment.
Best Regards,
Nicolas Cannasse
-------------------
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-08-29 10:11 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-25 14:26 [Caml-list] " John Goerzen
2004-08-25 14:38 ` Richard Jones
2004-08-25 14:50 ` John Goerzen
2004-08-25 15:02 ` John Goerzen
2004-08-26 9:05 ` Raphael Montelatici
2004-08-26 13:20 ` John Goerzen
2004-08-26 13:30 ` John Goerzen
2004-08-25 14:55 ` Lars Nilsson
2004-08-25 15:06 ` Jason Smith
2004-08-25 16:14 ` John Goerzen
2004-08-28 3:49 ` John Goerzen
2004-08-25 15:05 ` skaller
2004-08-25 15:21 ` Lars Nilsson
2004-08-25 15:22 ` Jason Smith
2004-08-25 15:52 ` John Goerzen
2004-08-25 16:26 ` Jason Smith
2004-08-25 16:40 ` Jason Smith
2004-08-25 16:49 ` Ville-Pertti Keinonen
2004-08-25 17:01 ` Jason Smith
2004-08-25 17:17 ` John Goerzen
2004-08-25 20:00 ` skaller
2004-08-25 15:23 ` Brian Hurt
2004-08-25 15:24 ` Christophe TROESTLER
2004-08-27 14:26 ` Daniel Ortmann
2004-08-27 14:44 ` skaller
2004-08-27 14:59 ` Brian Hurt
2004-08-25 15:35 ` John Goerzen
2004-08-25 16:00 ` Richard Jones
2004-08-25 15:40 ` Nicolas Cannasse
2004-08-27 17:55 ` John Goerzen
2004-08-27 18:37 ` skaller
2004-08-27 18:49 ` John Goerzen
2004-08-27 20:39 ` skaller
2004-08-27 20:56 ` John Goerzen
2004-08-27 22:05 ` Richard Jones
2004-08-27 23:15 ` John Goerzen
2004-08-31 11:10 ` Keith Wansbrough
2004-08-28 0:25 ` skaller
2004-08-28 9:35 ` Marcin 'Qrczak' Kowalczyk
2004-08-28 9:50 ` Marcin 'Qrczak' Kowalczyk
2004-08-28 10:41 ` skaller
2004-08-28 11:37 ` Marcin 'Qrczak' Kowalczyk
2004-08-25 17:37 ` Basile Starynkevitch [local]
2004-08-25 18:00 ` Richard Jones
2004-08-25 22:10 ` Yamagata Yoriyuki
2004-08-26 0:09 ` John Goerzen
2004-08-26 4:26 ` [Caml-list] bytecode and native code at once Brandon J. Van Every
2004-08-26 9:55 ` skaller
2004-08-26 15:52 ` [Caml-list] " mikel
2004-08-26 17:09 ` Paul Snively
2004-08-26 17:31 ` mikel evins
2004-08-26 18:04 ` Paul Snively
2004-08-26 18:28 ` mikel evins
2004-08-26 21:15 ` skaller
2004-08-27 8:52 ` Keith Wansbrough
2004-08-27 15:39 ` David Brown
2004-08-27 15:48 ` mikel evins
2004-08-26 21:42 ` [Caml-list] Alternative Bytecodes for OCaml Michal Moskal
2004-08-27 9:38 ` Nicolas Cannasse
2004-08-27 13:09 ` John Goerzen
2004-08-27 13:44 ` Brian Hurt
2004-08-27 13:58 ` skaller
2004-08-27 20:48 ` Nicolas Cannasse
2004-08-27 21:03 ` Benjamin Geer
2004-08-30 16:40 ` John Goerzen
2004-08-27 19:49 ` Blair Zajac
2004-08-27 22:18 ` Richard Jones
2004-08-27 23:38 ` Yamagata Yoriyuki
2004-08-28 16:40 ` Basile Starynkevitch [local]
2004-08-28 17:03 ` [Caml-list] (GC issues) " Nicolas Cannasse
2004-08-28 20:45 ` [Caml-list] " Basile Starynkevitch [local]
2004-08-29 2:31 ` skaller
2004-08-29 5:04 ` Brandon J. Van Every
2004-08-29 12:58 ` John Goerzen
2004-08-29 15:06 ` Brian Hurt
2004-08-29 15:22 ` Radu-Mihail Obada
2004-08-29 10:12 ` Nicolas Cannasse [this message]
2004-08-30 12:23 ` Basile Starynkevitch [local]
2004-08-30 13:17 ` Nicolas Cannasse
2004-08-26 16:04 ` [Caml-list] " =?unknown-8bit?Q?=A3ukasz?= Dobrek
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='005101c48db0$a2da9110$0100a8c0@warp' \
--to=warplayer@free.fr \
--cc=basile.starynkevitch@inria.fr \
--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