[PATCH] PowerPC: Optimized mpn functions for PowerPC64
Adhemerval Zanella
azanella@linux.vnet.ibm.com
Mon Nov 4 18:39:00 GMT 2013
On 04-11-2013 16:21, Adhemerval Zanella wrote:
> On 04-11-2013 14:13, Joseph S. Myers wrote:
>> On Mon, 4 Nov 2013, Adhemerval Zanella wrote:
>>
>>> + version 2.r1 of the License, or (at your option) any later version.
>> Typo "version 2.r1".
>>
>> Benchmarks for strtod would be good.
>>
> Fair enough, I'll address the benchmark in another email.
>
Using the sent benchtest for strtod I got these outputs in a POWER7 3.3GHz ('baseline'
the default for C implemention and 'optimized' using the new MPN ones). As you can see
the gain is where the multiprecision routines are used more extensivelly (input
1e308, 100000000e300, 1e-307, 0.000001e-301, etc.).
-------------- next part --------------
Input 1e308 : 172.175
Input 100000000e300 : 189.926
Input 0x1p1023 : 48.4244
Input 0x1000p1011 : 55.8959
Input 0x1p1020 : 47.8909
Input 0x0.00001p1040 : 54.5773
Input 1e-307 : 331.461
Input 0.000001e-301 : 339.079
Input 0.0000001e-300 : 338.891
Input 0.00000001e-299 : 339.377
Input 1000000e-313 : 342.651
Input 10000000e-314 : 346.654
Input 100000000e-315 : 348.683
Input 0x1p-1021 : 42.7711
Input 0x1000p-1033 : 50.3386
Input 0x10000p-1037 : 52.8427
Input 0x0.001p-1009 : 49.489
Input 0x0.0001p-1005 : 49.6526
Input 12.345 : 104.775
Input 12.345e19 : 72.9272
Input -.1e+9 : 51.295
Input .125 : 80.3472
Input 1e20 : 63.1004
Input 0e-19 : 22.5513
Input 4 : 41.576
Input 5.9e-76 : 188.039
Input 0x1.4p+3 : 44.9408
Input 0xAp0 : 41.3181
Input 0x0Ap0 : 41.2204
Input 0x0A : 34.7705
Input 0xA0 : 35.3324
Input 0x0.A0p8 : 43.8738
Input 0x0.50p9 : 43.5455
Input 0x0.28p10 : 44.8817
Input 0x0.14p11 : 44.8596
Input 0x0.0A0p12 : 48.2002
Input 0x0.050p13 : 47.2488
Input 0x0.028p14 : 48.4522
Input 0x0.014p15 : 48.5439
Input 0x00.00A0p16 : 49.4434
Input 0x00.0050p17 : 48.0535
Input 0x00.0028p18 : 52.2341
Input 0x00.0014p19 : 49.5649
Input 0x1p-1023 : 49.9006
Input 0x0.8p-1022 : 53.73
Input Inf : 16.3295
Input -Inf : 17.5025
Input +InFiNiTy : 19.5103
Input 0x80000Ap-23 : 55.6887
Input 1e-324 : 325.84
Input 0x100000000000008p0 : 80.8175
Input 0x100000000000008.p0 : 83.3064
Input 0x100000000000008.00p0 : 84.2314
Input 0x10000000000000800p0 : 82.8613
Input 0x10000000000000801p0 : 82.5403
-------------- next part --------------
Input 1e308 : 125.52
Input 100000000e300 : 149.022
Input 0x1p1023 : 48.4256
Input 0x1000p1011 : 55.8508
Input 0x1p1020 : 48.0945
Input 0x0.00001p1040 : 54.6276
Input 1e-307 : 241.074
Input 0.000001e-301 : 250.879
Input 0.0000001e-300 : 248.312
Input 0.00000001e-299 : 250.03
Input 1000000e-313 : 253.052
Input 10000000e-314 : 259.485
Input 100000000e-315 : 261.231
Input 0x1p-1021 : 43.2363
Input 0x1000p-1033 : 51.188
Input 0x10000p-1037 : 53.5091
Input 0x0.001p-1009 : 50.2672
Input 0x0.0001p-1005 : 51.6647
Input 12.345 : 106.918
Input 12.345e19 : 72.2222
Input -.1e+9 : 50.7758
Input .125 : 80.8895
Input 1e20 : 67.3967
Input 0e-19 : 22.7033
Input 4 : 42.0203
Input 5.9e-76 : 179.132
Input 0x1.4p+3 : 44.94
Input 0xAp0 : 41.667
Input 0x0Ap0 : 41.6967
Input 0x0A : 34.4236
Input 0xA0 : 35.9522
Input 0x0.A0p8 : 43.5388
Input 0x0.50p9 : 44.1598
Input 0x0.28p10 : 47.146
Input 0x0.14p11 : 46.7169
Input 0x0.0A0p12 : 48.2613
Input 0x0.050p13 : 47.8564
Input 0x0.028p14 : 49.5957
Input 0x0.014p15 : 48.9982
Input 0x00.00A0p16 : 49.8011
Input 0x00.0050p17 : 48.6582
Input 0x00.0028p18 : 50.7606
Input 0x00.0014p19 : 50.212
Input 0x1p-1023 : 48.5042
Input 0x0.8p-1022 : 50.7972
Input Inf : 16.3723
Input -Inf : 17.2438
Input +InFiNiTy : 19.6078
Input 0x80000Ap-23 : 54.8585
Input 1e-324 : 232.758
Input 0x100000000000008p0 : 81.2731
Input 0x100000000000008.p0 : 82.9393
Input 0x100000000000008.00p0 : 84.5477
Input 0x10000000000000800p0 : 83.3716
Input 0x10000000000000801p0 : 83.5739
More information about the Libc-alpha
mailing list