Bug#572746: libm: sinf/cosf performance is awful on amd64
On Sat, Mar 06, 2010 at 11:42:51AM +0100, Jerome Vizcaino wrote:
> Package: libc6
> Version: 2.10.2-6
> Severity: normal
> After many tests and research I've come to the conclusion that the float variants
> sin/cos (and maybe others) are anormaly slow Debian amd64.
> The performance loss is really impressive (around 8 to 9 times slower).
> I've attached the prog used to make my experiments and used it in the following
> + Lenny-amd64: sinf/cosf is really slow
> + Lenny-i386: float performance is ok (faster than the cos/sin using double)
> + Sid-amd64: sinf/cosf slow
> + Lenny-amd64 using lenny-i386 binary and 32bits libs: float performance is OK.
On amd64, only sincos has an optimized version, sincosf is using the
generic C implementation. On i386, there are optimized version of both
sincos and sincosf
> + OpenSuse 64 bits (10.3 and 11.1): using the binary compiled on lenny-amd64,
> the tests run fine !
> => The problem is not compiler related.
> There seems to be a problem with the way libm is compiled for the amd64
> architecture on Debian.
> This is why the OpenSuse test was run: the problem is somewhere in the compile
> chain or debian specific patches.
The problem is clearly not Debian specific, and is also present
upstream. OpenSuse is probably using a patch to workaround the problem.
Aurelien Jarno GPG: 1024D/F1BCDB73