unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Mikael Djurfeldt <djurfeldt@nada.kth.se>
Cc: Greg Troxel <gdt@ir.bbn.com>
Subject: Resizing hash tables in Guile
Date: Tue, 11 Feb 2003 14:59:05 +0100	[thread overview]
Message-ID: <xy78ywmc40m.fsf_-_@nada.kth.se> (raw)
In-Reply-To: <xy74r7ckqmy.fsf@nada.kth.se> (Mikael Djurfeldt's message of "Mon, 10 Feb 2003 18:11:01 +0100")

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.

Questions:

Is this a good thing?  Should we keep it?

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.

The implementation isn't quite finished.  Removal should be rewritten
for the new tables.  Also, weak hash tables need to be handled in
hashtab.c in order to maintain a correct item count.

M


_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user


       reply	other threads:[~2003-02-11 13:59 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <Pine.GSO.3.96.1030208160743.22945E-100000@anh>
     [not found] ` <87lm0o7951.fsf@alice.rotty.yi.org>
     [not found]   ` <rmiu1fcnrhj.fsf@fnord.ir.bbn.com>
     [not found]     ` <1044889242.1033.310.camel@localhost>
     [not found]       ` <xy77kc8krhr.fsf@nada.kth.se>
     [not found]         ` <xy74r7ckqmy.fsf@nada.kth.se>
2003-02-11 13:59           ` Mikael Djurfeldt [this message]
2003-02-11 17:34             ` Resizing hash tables in Guile Roland Orre
     [not found]               ` <ljy94lhgkb.fsf@burns.dt.e-technik.uni-dortmund.de>
2003-02-12 17:47                 ` Mikael Djurfeldt
2003-02-12 20:44                   ` Rob Browning
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

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=xy78ywmc40m.fsf_-_@nada.kth.se \
    --to=djurfeldt@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).