From: Allister MacLeod <amacleod@mv3d.com>
Subject: Re: Does anyone have a better scm_string_hash ?
Date: Mon, 17 Nov 2003 11:48:20 -0500 [thread overview]
Message-ID: <20031117164819.GA28322@mv3d.com> (raw)
In-Reply-To: <87n0avq7pf.fsf@zagadka.ping.de>
On Mon, Nov 17, 2003 at 05:29:48PM +0100, Marius Vollmer wrote:
> Marius Vollmer <mvo@zagadka.de> writes:
> > Just for kicks, I'm now going to see what kind of code GCC generates
> > for h*37 as compared to (h<<5) + (h<<2) + h...
> Interesting. For h = a + (h<<5) + (h<<2) + h we get this sequence
> (one line is one machine instruction):
> x = h
> x = x << 5
> a = a + x
> a = a + h*4
> h = a + h
> and for h = a + h*37 we get
> x = h + h*8
> x = h + x*4
> h = x + a*1
> which is nearly twice as clever...
Just for reference, what are the timings on a Pentium for these
instructions? I assume from your pleased comments that
assign-from-plus-and-multiply is sufficiently fast that two of them
are less costly than a pair of assign-from-plus, an assign-from-shift,
and an assignment. I'm curious as to why the last line of the second
way ends up being h=x+a*1, instead of h=x+a. Are a series of
same-width instructions faster than ones with different widths?
(gawd, CISC rox, bleh)
Cheers,
Allister
--
Allister MacLeod <amacleod@mv3d.com> | http://amacleod.is-a-geek.org/
Elen síla lúmenn'omentielvo.
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user
next prev parent reply other threads:[~2003-11-17 16:48 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-11-13 21:55 cmod-play 1 available + modsup.h additions Thien-Thi Nguyen
2003-11-14 8:26 ` Ludovic Courtès
2003-11-14 13:10 ` Thien-Thi Nguyen
2003-11-14 13:37 ` Ludovic Courtès
2003-11-14 17:38 ` Thien-Thi Nguyen
2003-11-14 14:29 ` Marius Vollmer
2003-11-14 14:17 ` Marius Vollmer
2003-11-14 15:28 ` Does anyone have a better scm_string_hash ? Roland Orre
2003-11-14 15:51 ` Ludovic Courtès
2003-11-17 8:33 ` Roland Orre
2003-11-17 13:01 ` Ludovic Courtès
2003-11-17 15:42 ` Marius Vollmer
2003-11-17 16:02 ` Marius Vollmer
2003-11-17 16:29 ` Marius Vollmer
2003-11-17 16:48 ` Allister MacLeod [this message]
2003-11-17 17:57 ` Marius Vollmer
2003-11-17 19:17 ` OT: x86 assembly timings/size (was Re: Does anyone have a better scm_string_hash ?) Allister MacLeod
2003-11-17 21:27 ` OT: x86 assembly timings/size Marius Vollmer
2003-11-19 9:04 ` Does anyone have a better scm_string_hash ? Ludovic Courtès
2003-11-19 15:02 ` Marius Vollmer
2003-11-14 17:40 ` cmod-play 1 available + modsup.h additions Thien-Thi Nguyen
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=20031117164819.GA28322@mv3d.com \
--to=amacleod@mv3d.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).