unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: "Dr. Arne Babenhauserheide" <arne_bab@web.de>
To: Stefan Israelsson Tampe <stefan.itampe@gmail.com>
Cc: guile-devel@gnu.org
Subject: Re: hashtables
Date: Wed, 06 Apr 2022 17:10:36 +0200	[thread overview]
Message-ID: <87k0c2dyzr.fsf@web.de> (raw)
In-Reply-To: <CAGua6m1mmRoGwvO6b1N+9CuyYcQ5NwsyqJCJ=E_HnQ=Lx6ADhQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1373 bytes --]


Stefan Israelsson Tampe <stefan.itampe@gmail.com> writes:

> After optimising the hashtable implementation I conclude the following,
> 1. + 0.25s  10M lookups in small hashtable  (0.36s for guiles current)
> 2. + 6X faster for a large table scanning numbers

What do you mean by "large taable scanning numbers"? (I don’t understand)

> 3. + The general hash interface is faster also because it does not call SCM from C
> 4. + fast (2X) for relative large random working sets although the hashtable is large

That would likely directly speed up code I have by factor 2. 

> 5. - we do not suport the assoc generalisation (sort off though)

What do you mean by assoc generalization?

> 6. Compact (low memory overhead)

All in all these improvements sound great! And low memory overhead is
the icing on the cake.

How big is the remaining overhead? (compared to storing the values in a vector?)

> Let me know if you want to have this supported in guile as I have defined some vm operations that are needed else this will be about 1.5 2x slower on small hashtables.

Since I do not know the implications of this on the VM, I cannot give an
answer.

If Andy Wingo doesn’t object, then I think these improvements would be
awesome to have!

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 1125 bytes --]

      reply	other threads:[~2022-04-06 15:10 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-06 12:16 hashtables Stefan Israelsson Tampe
2022-04-06 15:10 ` Dr. Arne Babenhauserheide [this message]

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=87k0c2dyzr.fsf@web.de \
    --to=arne_bab@web.de \
    --cc=guile-devel@gnu.org \
    --cc=stefan.itampe@gmail.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).