Deutsch English Français Italiano |
<v449hn$3gtmg$1@raubtier-asyl.eternal-september.org> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!raubtier-asyl.eternal-september.org!.POSTED!not-for-mail From: Bonita Montero <Bonita.Montero@gmail.com> Newsgroups: comp.lang.c Subject: Re: Good hash for pointers Date: Sun, 9 Jun 2024 15:09:16 +0200 Organization: A noiseless patient Spider Lines: 20 Message-ID: <v449hn$3gtmg$1@raubtier-asyl.eternal-september.org> 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> <86ed9ofq14.fsf@linuxsc.com> <20240605005916.00001b33@yahoo.com> <v3vkvp$268b2$1@raubtier-asyl.eternal-september.org> <v4441o$3f3lt$1@raubtier-asyl.eternal-september.org> <v444bc$3f89s$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sun, 09 Jun 2024 15:09:12 +0200 (CEST) Injection-Info: raubtier-asyl.eternal-september.org; posting-host="e9274f57a249f9579faca929cfa801d8"; logging-data="3700432"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/YEX+QGuqztISN1XLxnH7wk0bVo+20oPE=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:E8cr14vgTMwnM3MLRFL7ppWOy00= In-Reply-To: <v444bc$3f89s$1@dont-email.me> Content-Language: de-DE Bytes: 2550 Am 09.06.2024 um 13:40 schrieb Richard Harnden: > On 09/06/2024 12:35, Bonita Montero wrote: >> With the code I've shown I proved that the hash AES hashfunction >> is totally stochastically and thereby a good hash function. But >> I was still discontent with the speed of the code. >> Usually you're not able to update the buckets of a hashtable with >> multiple threads without any locking. But with my code the buckets >> are only simple counters which could be updated atomically. >> So I could reduce the code and partitioned the input range to the >> hash function with the available number of cores. Here's the code: >> >> #include <iostream> > > This is not C Its about the general principle of Michael's hash and how to prove that it has a distibution of the bucket loads which is similar to a random number generator. I did it in C++ because that's only half the code.