[RFC]: Removing old Falkor ifuncs

Siddhesh Poyarekar siddhesh@gotplt.org
Wed Dec 21 23:38:55 GMT 2022


On 2022-12-21 12:27, Wilco Dijkstra wrote:
> Hi Siddhesh,
> 
>>> On 2022-12-09 10:14, Wilco Dijkstra wrote:
>>>> Do we need the ifuncs for Falkor? The SIMD memcpy is now the default
>>>> generic memcpy and that is quite similar to the Falkor one, so it seems
>>>> time to remove the Falkor variants. Since you are the original author,
>>>> what do you think?
>>>
>>> The key differentiator in memcpy/memmove at that time was the register
>>> number usage since that affected how the hardware prefetcher performed.
>>> Changing that might affect performance on falkor, although I don't
>>> exactly remember by how much.
>>
>> If there was a difference, it would likely be on large copies. But it would be hard
>> to test without access to a machine...
> 
> I managed to get an old Falkor revived, so was able to finally run benchtests.
> The new generic memcpy is about 10% faster on bench-memcpy-random test
> when sizes fit in L1, and about 5% faster overall. Bench-memcpy-large and -walk
> are very similar, so it doesn't seem to have any effect on prefetching in large copies.
> 
> So it looks like the new generic memcpy is better overall.

Great, I'd say go for it then :)

Thanks,
Sid


More information about the Libc-alpha mailing list