On Tue, May 16, 2017 at 12:00 PM, Sara Golemon <poll...@php.net> wrote:

> https://nikic.github.io/2014/12/22/PHPs-new-hashtable-implementation.html
>
> On Tue, May 16, 2017 at 4:28 AM, Pawel Por <porpa...@gmail.com> wrote:
> > Hi
> >
> > I'm trying to understand why PHP 7 hashtables are more efficient than
> > PHP 5 hashtables.
> > I'm confused about hashes that are in collision.
> > In PHP 5 there were a linked lists to resolve collisions.
> > What about PHP 7 ? Are there still linked lists ?
> > I read somewhere that the solution taken in PHP 7 is L1 cache friendly
> > so I conclude PHP 7 cannot resolve collisions using linked lists but
> > rather arrays.
> > If so please write me where the buckets that are in collision are
> > stored in memory I mean by what field the array is pointed to by (e.g.
> > zval.u2.next) and a few words of high level design of how it is
> > implemented.
> >
> > thanks for help
> >
>

I also blogged about that,

http://jpauli.github.io/2016/04/08/hashtables.html

Short answer : yes, there is a single-linked-list to solve collisions in
PHP 7 hashtables.


Julien.

Reply via email to