This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 5/6] vfprintf: Introduce printf_positional function


On 05/21/2015 12:55 AM, Carlos O'Donell wrote:
> On 05/21/2015 12:16 AM, Siddhesh Poyarekar wrote:
>> On Wed, May 20, 2015 at 11:40:17PM -0400, Carlos O'Donell wrote:
>>> 2015-05-20  Carlos O'Donell  <carlos@redhat.com>
>>>
>>> 	* benchtests/Makefile (stdio-common-bench): Define.
>>> 	(benchset): Add stdio-common-bench.
>>> 	* sprintf-inputs: New file.
>>> 	* sprintf-source.c: New file.
>>>
>>> diff --git a/benchtests/Makefile b/benchtests/Makefile
>>> index cb7a97e..8e615e5 100644
>>> --- a/benchtests/Makefile
>>> +++ b/benchtests/Makefile
>>> @@ -48,7 +48,9 @@ include ../gen-locales.mk
>>>  
>>>  stdlib-bench := strtod
>>>  
>>> -benchset := $(string-bench-all) $(stdlib-bench)
>>> +stdio-common-bench := sprintf
>>> +
>>> +benchset := $(string-bench-all) $(stdlib-bench) $(stdio-common-bench)
>>>  
>>>  CFLAGS-bench-ffs.c += -fno-builtin
>>>  CFLAGS-bench-ffsll.c += -fno-builtin
>>> diff --git a/benchtests/sprintf-inputs b/benchtests/sprintf-inputs
>>> new file mode 100644
>>> index 0000000..0e034b5
>>> --- /dev/null
>>> +++ b/benchtests/sprintf-inputs
>>> @@ -0,0 +1,8 @@
>>> +## args: char *:const char *:int:char:char:char:char:char:const char *:float:unsigned int
>>> +## ret: int
>>> +## includes: stdio.h
>>> +## include-sources: sprintf-source.c
>>> +# Test positional arguments:
>>> +buf, FORMAT1, 1001, '1', '2', '3', '4', '5', "string", 1.5, 0x1234
>>> +# Test non-positional arguments:
>>> +buf, FORMAT2, 1001, '1', '2', '3', '4', '5', "string", 1.5, 0x1234
>>
>> You would want two different outputs for positional and non-positional
>> respectively to match Florian's output.  You can achieve that with the
>> ##name directive by putting the line:
> 
> Oh! You're saying that the performance domain of positional versus
> non-positional is different and should not be lumped together, as
> Florian did not lump them together in his analysis.
> 
> v2
> - Split out positional vs non-positional.
> 
> Test run:
> 
>   "sprintf": {
>    "positional": {
>     "duration": 3.49965e+10,
>     "iterations": 1.7381e+07,
>     "max": 2733.1,
>     "min": 2007.32,
>     "mean": 2013.49
>    },
>    "non-positional": {
>     "duration": 3.49927e+10,
>     "iterations": 2.8668e+07,
>     "max": 1379.96,
>     "min": 1214.8,
>     "mean": 1220.62
>    }
>   }
> 
> 2015-05-21  Carlos O'Donell  <carlos@redhat.com>
> 
> 	* benchtests/Makefile (stdio-common-bench): Define.
> 	(benchset): Add stdio-common-bench.
> 	* sprintf-inputs: New file.
> 	* sprintf-source.c: New file.

Checked in.

c.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]