[COMMITTED] ieee754: Remove slow paths from asin and acos
Siddhesh Poyarekar
siddhesh@sourceware.org
Fri Dec 18 09:26:32 GMT 2020
On 12/18/20 1:58 PM, Paul Zimmermann wrote:
> Hi,
>
>> Date: Fri, 18 Dec 2020 12:39:26 +0530
>> From: Siddhesh Poyarekar via Libc-alpha <libc-alpha@sourceware.org>
>>
>> Looks like this patchset was approved but never committed. I have
>> pushed it now:
>>
>> https://sourceware.org/pipermail/glibc-cvs/2020q4/071274.html
>> https://sourceware.org/pipermail/glibc-cvs/2020q4/071275.html
>>
>> Siddhesh
>
> note that acos() was not correctly rounded before (x=0x1.fffff3634acd6p-1
> gave an error of 0.5000000044534775 ulps [1]).
That seems within an acceptable range for glibc; some years ago we gave
up trying to be correctly rounded.
> I did run "make bench" in 2.32 and after those patches.
>
> 2.32:
> "acos": {
> "": {
> "duration": 3.63669e+09,
> "iterations": 2.43e+07,
> "max": 892.2,
> "min": 15.357,
> "mean": 149.658
> },
> "asin": {
> "": {
> "duration": 3.58039e+09,
> "iterations": 2.5e+07,
> "max": 488.568,
> "min": 15.231,
> "mean": 143.216
> },
>
> after:
> "acos": {
> "": {
> "duration": 3.65234e+09,
> "iterations": 2.43e+07,
> "max": 1015,
> "min": 15.456,
> "mean": 150.302
> },
> "asin": {
> "": {
> "duration": 3.61159e+09,
> "iterations": 2.5e+07,
> "max": 1011.85,
> "min": 16.131,
> "mean": 144.464
> },
>
> It does not seem the maximal time did decrease. Can someone else check?
>
That may just be due to the slow inputs not being represented in the
synthetic workload in the benchmark; IIRC I had auto-generated a random
set for the non-mp paths.
Siddhesh
More information about the Libc-alpha
mailing list