Welcome! Log In Create A New Profile

Advanced

Re: Use primes for hashtable size

Maxim Dounin
May 30, 2017 09:04AM
Hello!

On Tue, May 30, 2017 at 03:28:03PM +0500, Andrew Borodin wrote:

> Hi, nginxers!
>
> We often use hashtable sizes equal to the power of 2. This can be
> damaging for a hashtable. I haven't found any mitigation for this in
> nginx code. So I made my own. If this issue is addressed somewhere
> just ignore my message. Or I'd be happy if someone will point me it.
>
> For the explanation of problem see
> https://stackoverflow.com/questions/3980117/hash-table-why-size-should-be-prime
>
> Code is checked for correctness of ngx_hash_min_prime(), I haven't
> done any regression testing, sorry.

The maximum size of hash table as specified by the hinit->max_size
field is indeed maximum size, and not the size of the hash table.
Following code in the ngx_hash_init() will try hard to find to
find out an optimal hash size for a given set of values within the
maximum size specified, and will test all the prime numbers as
well.

I see no reasons to additionally limit the maximum size to a prime
number. If you think there are some, please be more specific.

--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

Use primes for hashtable size Attachments

Andrew Borodin 740 May 30, 2017 06:30AM

Re: Use primes for hashtable size

Maxim Dounin 491 May 30, 2017 09:04AM

Re: Use primes for hashtable size

Andrew Borodin 485 June 01, 2017 07:56AM

Re: Use primes for hashtable size

Maxim Dounin 451 June 01, 2017 01:40PM

Re: Use primes for hashtable size

Andrew Borodin 430 June 01, 2017 01:58PM

Re: Use primes for hashtable size

splitice 551 June 01, 2017 08:58PM

Re: Use primes for hashtable size

Maxim Dounin 393 June 02, 2017 07:48AM

Re: Use primes for hashtable size

splitice 560 June 02, 2017 07:52AM

Re: Use primes for hashtable size

Andrew Borodin 463 June 03, 2017 02:02AM

Re: Use primes for hashtable size

Andrew Borodin 471 June 04, 2017 02:24PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 282
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready