Re: Good hash for pointers

Liste des GroupesRevenir à cl c 
Sujet : Re: Good hash for pointers
De : tr.17687 (at) *nospam* z991.linuxsc.com (Tim Rentsch)
Groupes : comp.lang.c
Date : 10. Jun 2024, 02:31:15
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <86le3dlh24.fsf@linuxsc.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Malcolm McLean <malcolm.arthur.mclean@gmail.com> writes:

On 09/06/2024 12:35, Bonita Montero wrote:
>
uint64_t MichaelsHash( uint64_t key )
{
 __m128i xkey = _mm_set_epi64x( key, 42 );
 using bar_t = pair<uint64_t, uint64_t>;
 static bar_t const bars[8] =
 {
  { 0xBB09BBCC90B24BF2, 0x825C622FF2792A01 },
  { 0x94F0535CB06D4060, 0x939C756246DBFD1D },
  { 0x5B835E01A7E14CA1, 0xAC2BDAFC023CDD06 },
  { 0xE0B6A4735B774AEC, 0x9CAFB43E7DDE494C },
 };
 for( bar_t const &bar : bars )
  xkey = _mm_aesenc_si128( xkey, _mm_set_epi64x( bar.second,
bar.first ) );
 return xkey.m128i_u64[0];
}
>
Now the code is about six times faster and I get a eight times
speedup over single-threaded processing with the same code.  Of
course the results are still the same.
>
I have your permission to drop that in?

Note that this code was cribbed from Michael S.  If you
think it's important to ask permission, I think he is
the one you should be asking.

By the way, I thought you were looking for code that works
in standard C, and acceptable under C90 rules.  Have you
changed your mind about that?  The code above is a far
cry from C, let alone C90.

Date Sujet#  Auteur
4 Jun 24 * Re: Good hash for pointers32Michael S
5 Jun 24 +* Re: Good hash for pointers4Bonita Montero
5 Jun 24 i`* Re: Good hash for pointers3Michael S
5 Jun 24 i `* Re: Good hash for pointers2Bonita Montero
5 Jun 24 i  `- Re: Good hash for pointers1Michael S
5 Jun 24 +* Re: Good hash for pointers17Tim Rentsch
5 Jun 24 i+* AES problem (was: Good hash for pointers)2Michael S
6 Jun 24 ii`- Re: AES problem (was: Good hash for pointers)1Tim Rentsch
5 Jun 24 i+* Re: Good hash for pointers11Michael S
6 Jun 24 ii`* Re: Good hash for pointers10Tim Rentsch
6 Jun 24 ii `* Re: Good hash for pointers9Michael S
17 Jun 24 ii  `* Re: Good hash for pointers8Tim Rentsch
17 Jun 24 ii   `* Re: Good hash for pointers7Michael S
18 Jun 24 ii    `* Re: Good hash for pointers6Tim Rentsch
18 Jun 24 ii     +* Re: Good hash for pointers2Keith Thompson
19 Jun 24 ii     i`- Re: Good hash for pointers1Tim Rentsch
19 Jun 24 ii     `* Re: Good hash for pointers3James Kuyper
19 Jun 24 ii      +- Re: Good hash for pointers1Keith Thompson
23 Jun 24 ii      `- Re: Good hash for pointers1Tim Rentsch
6 Jun 24 i`* Re: Good hash for pointers3Michael S
16 Jun 24 i `* Re: Good hash for pointers2Tim Rentsch
16 Jun 24 i  `- Re: Good hash for pointers1Chris M. Thomasson
7 Jun 24 `* Re: Good hash for pointers10Bonita Montero
9 Jun 24  `* Re: Good hash for pointers9Bonita Montero
9 Jun 24   +* Re: Good hash for pointers2Richard Harnden
9 Jun 24   i`- Re: Good hash for pointers1Bonita Montero
10 Jun 24   `* Re: Good hash for pointers6Malcolm McLean
10 Jun 24    +* Re: Good hash for pointers4Tim Rentsch
10 Jun 24    i`* Re: Good hash for pointers3Michael S
10 Jun 24    i +- Re: Good hash for pointers1Bonita Montero
16 Jun 24    i `- Re: Good hash for pointers1Tim Rentsch
10 Jun 24    `- Re: Good hash for pointers1Bonita Montero

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal