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 2/2][BZ #16640] Remove strtok assembly implementation.


On 14 Mar 2014 11:00, OndÅej BÃlka wrote:
> On Tue, Mar 11, 2014 at 01:59:02AM -0400, Mike Frysinger wrote:
> > On Thu 27 Feb 2014 13:42:06 OndÅej BÃlka wrote:
> > > As followup this patch removes strtok assembly implementation as it is
> > > around 2-4 times slower on sse4_2 capable machines which is a majority,
> > > as previous benchtest demonstrated.
> > 
> > where are you getting "sse4_2 capable machines which is a majority" ?  iiuc, 
> > AMD doesn't include SSE4.2 support.  Intel released it in their CPU's starting 
> > in 2007 w/Nehalem, and i don't believe it's in any of their Atom CPUs.
>
> From bulldozer they do. As atom is concerned upcoming silvermont include
> these.

that is what wikipedia claims, but that isn't what my CPU says, and i haven't 
yet run on an AMD that had it.  not sure what the discrepancy is from.  see 
attached cpuinfo for my proc.

> > so can you requalify your justification for removal of these funcs to cover 
> > the significant install base that lacks SSE4.2 ?
> 
> As I asked in original post do we actually care? As strtok is thread
> unsafe historic function and I am not sure how tokenization could be
> bottleneck, does that justify maintainance burden?
> 
> Other reason is that there is still plenty room of improvement for
> strpbrk+friends, a needle often stays constant and without sse4.2 we unnecessarily 
> recreate 256 byte array for each call is ineffective. A strtok would benefit from 
> that too. I will send WIP patch for it soon.

it's pretty simple: if we ignore sse4.2, and you remove this code, do the 
functions in question get slower ?  if so, then the code remains in place.
-mike

Attachment: cpuid
Description: Text document

Attachment: signature.asc
Description: Digital signature


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