On Wed, 24 Jan 2024 at 16:27, Hans Henrik Bergan <h...@loltek.net> wrote:

> Maybe vote on it? (that was suggested in the PR too,
> https://github.com/php/php-src/pull/13194#issuecomment-1900430400 )
>
> Can think of 6 things
>
> 1: Should BLAKE3 be added to PHP? yes/no
> 2: Should ARM Neon (2007) optimized implementation be bundled? yes/no
> 3: Should x86_64 SSE2 (2000) optimized implementation be bundled? yes/no
> 4: Should x86_64 SSE4.1 (2007) optimized implementation be bundled? yes/no
> 5: Should x86_64 AVX2 (2011) optimized implementation be bundled? yes/no
> 6: Should x86_64 AVX512 (2016) optimized implementation be bundled? yes/no
>
> (wrote the year processors were actually released, not the year
> instructions were proposed/announced)
>
> Arguments against SSE2 and SSE4.1: pretty much all modern CPUs supporting
> SSE2/SSE4.1 also support AVX2.
>
> Argument against AVX512: CloudFlare said in a blogpost that when a core
> starts executing AVX512 instructions, it decreases the clock speed of
> neighboring cores so much that, quote:
> >OpenSSL serves 10% fewer requests per second. And that is a huge number!
> It is equivalent to giving up on two cores, for nothing
>
> and another quote:
>
> >If you do not require AVX-512 for some specific high performance tasks, I
> suggest you disable AVX-512 execution on your server or desktop, to avoid
> accidental AVX-512 throttling.
>
> (ref
> https://blog.cloudflare.com/on-the-dangers-of-intels-frequency-scaling
> )
> that AVX512 issue is probably cpu-specific and will probably be mitigated
> in newer CPU releases
> (idk if AMD is even affected, or if it is purely a Intel issue)
>
> thus they may be worthy of a vote
>

Should we even be considering the specific instruction implementations?
I've always been in the camp
of you are not smarter than the compiler. As even the best human written
ASM code can be slower
than the obscure instructions the compiler might choose to use in a weird
and wonderful way.

Reply via email to