[plt-scheme] What's the best thing for a distinct handle?
On Mon, 2007-03-19 at 13:06 +0800, Matthew Flatt wrote:
> At Sun, 18 Mar 2007 21:40:42 -0700, Derick Eddington wrote:
> > I'm using distinct values, compared using eq?, as handles (because
> > they're unforgable and I can control who gets them). I'm wondering what
> > is the best type of MzScheme value to use for this. I figure whatever
> > would use the least memory is the best, so what type of MzScheme value,
> > that can be used for this, uses the least memory? A box of `null'? A
> > new empty string? A new empty vector?
>
> A box containing `null' would be the smallest, as far as I can tell.
>
> I usually use a gensym, because it seems cleanest, but that's not the
> smallest.
>
> A symbol with up to three ASCII characters, as produced by
> `string->uninterned-symbol', is the same size as a pair, and probably
> less work for the GC to manage than either a pair or a box (since a
> symbol is atomic). Using a symbol with particular characters also has
> the advantage that it's more recognizable if it somehow leaks.
Thanks for the info!
--
: Derick
----------------------------------------------------------------