caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Jacques Garrigue <garrigue@kurims.kyoto-u.ac.jp>
To: Christoph.Bauer@lms-gmbh.de
Cc: caml-list@inria.fr
Subject: Re: AW: [Caml-list] The tag bit
Date: Fri, 13 Aug 2004 12:53:29 +0900 (JST)	[thread overview]
Message-ID: <20040813.125329.74721093.garrigue@kurims.kyoto-u.ac.jp> (raw)
In-Reply-To: <D981925B4F2CD611870300E0184CEE9B0157F260@mail.lms-gmbh.de>

From: "Bauer, Christoph" <Christoph.Bauer@lms-gmbh.de>
> But who needs the tag bit? Only the garbage collector. Maybe it's
> an advantage to see 32 tag bits as a whole, e.g. the question
> "does the block contains any pointer" can be calculated bit-parallel.
> Anyway the garbage collector could works on blocks and needs 
> just one additional memory access per block.

But who works in your program?
The garbage collector!
Do some profiling, and you will be surprised at how much time is used
collecting garbage in a perfectly sane program.
No surprise here: in symbolic programming, you are generating garbage
all the time. In the old lisp days, people talked of the mutator (your
program) and the collector, emphasizing that they are almost equal.
And you wouldn't give 1 bit for your brother, doing all the dirty
work? :-)

More seriously, it may be that your idea of blocks could be made to
work, but it's not going to be easy. For instance, what do you do when
manipulating data between registers? Looks like it would mean updating
some special register every time you do a move operation. This could
generate heaps of code.
GC is such an old field that I suppose all weird approaches have
already been studied in the litterature.

Jacques Garrigue

-------------------
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


  reply	other threads:[~2004-08-13  3:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-12 15:22 Bauer, Christoph
2004-08-13  3:53 ` Jacques Garrigue [this message]
2004-08-13 12:58   ` Christophe Raffalli
2004-08-13 13:14     ` [Caml-list] Other GC in ML family ? Diego Olivier Fernandez Pons
2004-08-13 13:24     ` AW: [Caml-list] The tag bit Andreas Rossberg
2004-08-13 14:32       ` T. Kurt Bond
2004-08-13 14:41         ` AW: [Caml-list] Conservative GC T. Kurt Bond
2004-08-13 16:14         ` AW: [Caml-list] The tag bit Ville-Pertti Keinonen
2004-08-13 14:28     ` skaller
2004-08-13 15:44       ` Christophe Raffalli
2004-08-13 15:40     ` Brian Hurt
2004-08-13 13:43 Ennals, Robert
2004-08-13 14:58 Ennals, Robert

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=20040813.125329.74721093.garrigue@kurims.kyoto-u.ac.jp \
    --to=garrigue@kurims.kyoto-u.ac.jp \
    --cc=Christoph.Bauer@lms-gmbh.de \
    --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;
as well as URLs for NNTP newsgroup(s).