Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 27 Jun 2015 22:45:26 -0400
From: Rich Felker <>
Subject: Re: [PATCH v2 0/6] gnu-hash speedups

On Sun, Jun 28, 2015 at 02:48:29AM +0300, Alexander Monakov wrote:
> v2:
> reorder patches
> [2] split out ghashmask micro-optimization into a separate patch
> [2] use 'unsigned char' rather than 'int' for struct udiv fields s1,s2,inc
> [2] use an explicit cast in bloomwords assignment
> [4] reorder 'hashtab' before 'dso'
> [5] remove branch on zero s1
> [5] tweak implementation of saturating addition
> [5] fold 32-bit shift into s2, avoiding run-time adjustments on 64-bit arch
> Alexander Monakov (6):
>   dynlink.c: use a faster expression in gnu_hash
>   dynlink.c: use bloom filter in gnu hash lookup
>   dynlink.c: slim down gnu_lookup
>   dynlink.c: pass gnu-hash table pointer to gnu_lookup

I've committed 1-4 with minimal changes: refolding commit messages so
"git log" fits in 80 columns, fixing a typo in one of the messages,
and removing the line-break in the function args for
gnu_lookup_filtered (there were already well over 80 chars before the
break, and if it's going to be broken, spaces rather than tabs need to
be used for alignment).

>   dynlink.c: compute modulus via magic multiplication
>   dynlink.c: store bloom filter size in struct dso

Let's resume testing these when you next have time. The timing for the
umod stuff is still so unstable undef different -O and -mtune
combinations that I'm not sure what to think about which version is
best. But it looks like a clear win. I'll see if I can do some tests
on real arm hardware too, since I expect it to make a big difference


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.