Re: SSE in libthr

From: Alan Somers <asomers_at_freebsd.org>
Date: Fri, 27 Mar 2015 17:03:11 -0600
On Fri, Mar 27, 2015 at 4:36 PM, Adrian Chadd <adrian_at_freebsd.org> wrote:
> hi,
>
> please don't try to microoptimise crap like strlen().
>
> The TL;DR for performant high-throughput code is: if strlen() or
> memcpy() is the thing that's costing you the most, you're doing it
> wrong.
>
>
>
> -adrian

I respectfully disagree.  A well-optimized libc will benefit
_every_single_program_ that uses strlen.  That includes Apache, Samba,
Memcached, Quake, and basically every single program that every single
FreeBSD user uses.  There's no reason that 3rd party software
maintainers should have to rewrite basic libc functions in order to
get decent performance on FreeBSD.  And the downsides are so small!
In 2015, we should assume by default that most userland software is
using SIMD instructions.  As Eric noticed, Clang emits them freely.
What's the point to lazily saving the SSE registers on context
switches if essentially all programs compiled from Ports will be using
those registers anyway?  I agree with Jilles; I think we should always
save the SSE registers for userland programs.

-Alan
Received on Fri Mar 27 2015 - 22:03:12 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:56 UTC