[Mesa-dev] [PATCH 4/4] glsl: Use hash table cloning in copy propagation

Vladislav Egorov vegorov180 at gmail.com
Fri Jan 13 17:41:43 UTC 2017


13.01.2017 15:31, Tapani Pälli пишет:
>
>
> On 01/12/2017 09:23 PM, Thomas Helland wrote:
>> Walking the whole hash table, inserting entries by hashing them first
>> is just a really really bad idea. We can simply memcpy the whole thing.
>
> Maybe it is just 'really' not 'really really' since I don't spot any 
> difference in time running the torture test in bug #94477 (oscillates 
> close to 120s with both with and without these patches), I would 
> expect at least some difference as it is utilizing this path a lot. 
> Did you measure performance difference?
>

It wouldn't help the torture case from the bug, because that shader 
doesn't have LOOP and IF blocks, so more efficient copying the ACP for 
LOOP/IF blocks would not be even touched.

Quick benchmark of Tom's patches on shader-db.

Default shader-db, ./run -1, 10 runs:

               BEFORE    AFTER
softpipe      3.20s     3.15s
radeonsi      5.17s     5.12s
i965/Haswell  7.33s     7.19s

On my full shader-db (50K+ shaders from games):

                   BEFORE   AFTER
softpipe (5 runs) 156.6s   153.9s
i965              625s     613s

So it brings 1-2% speed across the board.


More information about the mesa-dev mailing list