[Patch v2] [BZ 15884] strcoll: improve performance by removing the cache

Leonhard Holz leonhard.holz@web.de
Mon Oct 20 20:24:00 GMT 2014


Am 17.10.2014 12:02, schrieb Siddhesh Poyarekar:
> On Tue, Oct 14, 2014 at 03:11:20PM +0200, Leonhard Holz wrote:
>> The output of the benchmark is:
>
> Thanks, the outputs look good to me.  I'm going to push your strcoll
> changes, but the benchmark changes need more work.  I hope you'll
> continue to work on them :)

:)

>
>> diff --git a/benchtests/Makefile b/benchtests/Makefile
>> index fd3036d..e79ceee 100644
>> --- a/benchtests/Makefile
>> +++ b/benchtests/Makefile
>> @@ -34,7 +34,7 @@ string-bench := bcopy bzero memccpy memchr memcmp memcpy memmem memmove \
>>   		mempcpy memset rawmemchr stpcpy stpncpy strcasecmp strcasestr \
>>   		strcat strchr strchrnul strcmp strcpy strcspn strlen \
>>   		strncasecmp strncat strncmp strncpy strnlen strpbrk strrchr \
>> -		strspn strstr strcpy_chk stpcpy_chk memrchr strsep strtok
>> +		strspn strstr strcpy_chk stpcpy_chk memrchr strsep strtok strcoll
>>   string-bench-all := $(string-bench)
>>
>>   stdlib-bench := strtod
>
> You need to ensure that the locales are generated first.  The tests
> target does this already.  Also my fault that I didn't point out
> earlier that you'll need to set GCONV_PATH and LOCPATH to actually
> make the test use the generated locales.  Otherwise they'll just use
> the system locales.
>

I am not sure if that is the case because the used locales are not 
installed on my system and before I added them to the Makefile they were 
not found, but after adding and executing "make tests" it did work.

Anyhow I feel a bit overstrained by those Makefiles. I understand that 
the wirings for generating the needed locales in localedata/Makefile 
should be applied to benchtests/Makefile but unfortunately I do not 
understand how the mechanics in localedata/Makefile actually work. Maybe 
someone here can help?

Best,
Leonhard



More information about the Libc-alpha mailing list