Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <86ed9ofq14.fsf@linuxsc.com>
Deutsch   English   Français   Italiano  
<86ed9ofq14.fsf@linuxsc.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups: comp.lang.c
Subject: Re: Good hash for pointers
Date: Sun, 26 May 2024 10:20:55 -0700
Organization: A noiseless patient Spider
Lines: 45
Message-ID: <86ed9ofq14.fsf@linuxsc.com>
References: <v2n88p$1nlcc$1@dont-email.me> <v2qm8m$2el55$1@raubtier-asyl.eternal-september.org> <v2qnue$2evlu$1@dont-email.me> <v2r9br$2hva2$1@dont-email.me> <86fru6gsqr.fsf@linuxsc.com> <v2sudq$2trh1$1@raubtier-asyl.eternal-september.org> <8634q5hjsp.fsf@linuxsc.com> <v2vmhr$3ffjk$1@raubtier-asyl.eternal-september.org> <86le3wfsmd.fsf@linuxsc.com> <v2voe7$3fr50$1@raubtier-asyl.eternal-september.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Sun, 26 May 2024 19:20:57 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="4466c3f20a2aa0adfb23676e01f9e74a";
	logging-data="3681216"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+7qAxiykCvQNA7yxBKVsyuo4hva1DVpUc="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:SkeCTfDImtFQblcAnZWVCoC0Fjc=
	sha1:RVpOEtE1RLnNnENz41NplkQYJFs=
Bytes: 3023

Bonita Montero <Bonita.Montero@gmail.com> writes:

> Am 26.05.2024 um 18:24 schrieb Tim Rentsch:
>
>> Bonita Montero <Bonita.Montero@gmail.com> writes:
>>
>>> Am 25.05.2024 um 19:40 schrieb Tim Rentsch:
>>>
>>>> Bonita Montero <Bonita.Montero@gmail.com> writes:
>>>>
>>>>> Am 25.05.2024 um 11:12 schrieb Tim Rentsch:
>>>>>
>>>>>> Your hash function is expensive to compute, moreso even
>>>>>> than the "FNV" function shown earlier.  In a case like
>>>>>> this one where the compares are cheap, it's better to
>>>>>> have a dumb-but-fast hash function that might need a
>>>>>> few more looks to find an open slot, because the cost
>>>>>> of looking is so cheap compared to computing the hash
>>>>>> function.
>>>>>
>>>>> A (size_t)pointer * LARGE_PRIME can be sufficient,
>>>>> ignoring the overflow.
>>>>
>>>> Plenty fast but the output quality is poor. ...
>>>
>>> If the prime is large enough there'e no regular distribution.
>>
>> Your conjecture is contradicted by empirical facts.
>
> There are no empirival facts for that since two times the
> taken prime is beyond the 64 bit address space.

You don't listen very well do you?

I say the output quality is poor because I have run tests that
show the poor output quality.  I've done that with a prime of my
own choosing and also with 18446744073709551557, the value you
suggested.  In both cases the test runs show results that are
clearly worse than all the other hash functions tested, including
bart's and malcolm's.  Furthermore the results for your suggested
calculation are worse across the board, on every variety of
dynamic workload in my test suite.

Your proposed hash function is too weak to be taken as a serious
candidate.