From: Roland Orre <orre@nada.kth.se>
Cc: Greg Troxel <gdt@ir.bbn.com>
Subject: Re: Resizing hash tables in Guile
Date: 11 Feb 2003 18:34:07 +0100 [thread overview]
Message-ID: <1044984847.1032.419.camel@localhost> (raw)
In-Reply-To: <xy78ywmc40m.fsf_-_@nada.kth.se>
On Tue, 2003-02-11 at 14:59, Mikael Djurfeldt wrote:
> I've just committed resizing hash table functionality to the Guile
> core hashtable functions (in hashtab.c).
>
> Currently, the only thing which has changed in the API is that the
> size argument to the hash table constructors is now optional. If
> omitted, you get a resizing table.
>
> Please comment on this API and also take a look at the implementation
> in hashtab.c.
I've studied the code and consider this a perfect minimalistic solution.
It works without disturbing any old code. I'll test drive the code
tonight.
> Questions:
>
> Is this a good thing? Should we keep it?
It's definitely a good thing. In our application we sometimes need just
a few tens of items hashed but often many millions of items without
really knowing beforehand.
It's definitely a good thing to not need to bother about analyzing
optimal table sizes any longer.
We hope it will stay and we will start using it in our application as
soon as possible.
> I made the hash tables thread-safe (locking/unlocking a mutex at hash
> table access and rehashing). Is that good? An alternativ is to
> require of the programmer to make sure the hash tables aren't accessed
> in parallel.
In our case I think we will most likely set up the different processes
to use different hash tables but we have still not parallellized our
applications. Could/should the mutex protection maybe be optional?
Best regards
Roland
_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-devel
next prev parent reply other threads:[~2003-02-11 17:34 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-02-08 11:00 Efficiency and flexibility of hash-tables Joris van der Hoeven
2003-02-08 13:57 ` Roland Orre
2003-02-08 14:14 ` Joris van der Hoeven
2003-02-08 14:55 ` Roland Orre
2003-02-08 15:14 ` Joris van der Hoeven
2003-02-08 15:31 ` Mikael Djurfeldt
2003-02-11 11:14 ` Joris van der Hoeven
2003-02-11 11:28 ` Joris van der Hoeven
2003-02-11 12:50 ` Mikael Djurfeldt
2003-02-08 15:44 ` Roland Orre
2003-02-10 9:55 ` Andreas Rottmann
2003-02-10 14:24 ` Greg Troxel
2003-02-10 15:00 ` Roland Orre
2003-02-10 16:52 ` Mikael Djurfeldt
2003-02-10 17:09 ` Roland Orre
2003-02-10 17:11 ` Mikael Djurfeldt
2003-02-11 13:59 ` Resizing hash tables in Guile Mikael Djurfeldt
2003-02-11 17:34 ` Roland Orre [this message]
2003-02-12 11:41 ` Marius Vollmer
2003-02-12 16:10 ` Marius Vollmer
2003-02-12 17:53 ` Mikael Djurfeldt
2003-02-12 20:17 ` Roland Orre
2003-02-13 9:35 ` Mikael Djurfeldt
2003-02-13 13:55 ` Harvey J. Stein
2003-02-13 14:24 ` Joris van der Hoeven
2003-02-13 18:30 ` Harvey J. Stein
2003-02-13 20:02 ` Paul Jarc
2003-02-13 9:52 ` Joris van der Hoeven
2003-02-12 20:55 ` Rob Browning
2003-02-13 10:43 ` Mikael Djurfeldt
2003-02-12 20:47 ` Efficiency and flexibility of hash-tables Paul Jarc
2003-02-12 21:58 ` Roland Orre
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
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1044984847.1032.419.camel@localhost \
--to=orre@nada.kth.se \
--cc=gdt@ir.bbn.com \
/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 read-only IMAP folder(s) and NNTP newsgroup(s).