[PATCH][gdbsupport] Use task size in parallel_for_each

Tom de Vries tdevries@suse.de
Sun Jul 31 08:38:33 GMT 2022


On 7/23/22 08:51, Tom de Vries via Gdb-patches wrote:
> On 7/22/22 23:21, Tom Tromey wrote:
>> Tom> Then, rather than using parallel_for, the DWARF reader could send 
>> N jobs
>> Tom> to the thread pool, and each job would simply take the next 
>> available CU
>> Tom> by incrementing an atomic counter.  When the counter reached the 
>> number
>> Tom> of CUs, a job would stop.
>>
>> Here's a patch.  I didn't test it much, though according to "maint 
>> time 1",
>> it is ~10% faster on gdb itself.  I pushed it as "t/work-stealing" on my
>> github as well, in case you want to try it out.
>>
> 
> I've tried it out (initially didn't build for me with gcc 7.5.0, but it 
> did after using gcc 12.1.1).
> 
> So, the same libxul experiment as before, gcc-12, O2, base commit 
> 5ae3df226b1.
> 
> ---
> 
> base commit:
> 
> real: 4.64
> real: 4.10
> real: 4.11
> real: 4.65
> real: 4.04
> real: 4.21
> real: 4.03
> real: 4.48
> real: 4.04
> real: 4.65
> 
> t/work-stealing:
> 
> real: 3.65
> real: 3.58
> real: 3.58
> real: 3.58
> real: 3.58
> real: 3.57
> real: 3.58
> real: 3.59
> real: 3.59
> real: 3.59
> 
> size heuristics:
> 
> real: 3.44
> real: 3.44
> real: 3.52
> real: 3.43
> real: 3.54
> real: 3.47
> real: 3.60
> real: 3.46
> real: 3.46
> real: 3.52
> 
> Just one data point of course.
> 

I've rebase the patch series on the latest version for the 
gdb::make_function_view patch, and retested using the try-bot.  If there 
are no further comments, I'll commit in a week or so.

Thanks,
- Tom


More information about the Gdb-patches mailing list