Mauvaises performances libc6/libm-2.17.so en Debian Testing

Bonjour à tous,

J’ai un problème à soumettre à la liste, désolé si ce problème est connu, je ne l’ai pas trouvé dans les FAQ…

Il semble doubler la durée de calcul des fonctions trigonométriques de base
dans la libc6…

La semaine dernière j’ai voulu mettre à jour ma Debian testing 64 bits
basée sur un noyau 3.2.0-amd64 (et la librairie libm-2.13.so) pour utiliser la version courante de la testing (jessie)
basée sur un noyau 3.9.8-1-amd64 (et la libm-2.17.so, cf. apt-file search ‘libm-’).

Et l’un de mes programmes a vu son temps d’exécution doubler !!!
J’ai testé différents scénarios. J’ai testé sur une autre machine avec un autre processeur & matériel
et j’ai systématiquement obtenu le même résultat !!!
J’ai vérifié qu’il n’y avait pas de mélange de code 32 et 64 bits (je passe les détails…)…

Et finalement j’ai récupéré l’ancienne version de la libm, car mon programme utilise la libm de manière
intensive (il ne fait quasiment que des calculs trigonométriques en boucle) et j’ai
obtenu le résultat suivant en switchant simplement les versions de libm
(je n’ai enlevé ou ajouté aucune commande dans la séquence reprise ci-dessous).
Le test est effectué sous Debian Testing/Jessie (amd64, noyau 3.9.8-1,
processeurs testés intels I5 et I7):

rm /lib/x86_64-linux-gnu/libm.so.6

ln -s /lib/x86_64-linux-gnu/libm-2.13.so /lib/x86_64-linux-gnu/libm.so.6

/usr/bin/time -v ./loopmodel1

Command being timed: "./loopmodel1"
User time (seconds): 297.27
System time (seconds): 0.00
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 4:58.12
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 496
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 173
Voluntary context switches: 1
Involuntary context switches: 25199
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0

rm /lib/x86_64-linux-gnu/libm.so.6

ln -s /lib/x86_64-linux-gnu/libm-2.17.so /lib/x86_64-linux-gnu/libm.so.6

/usr/bin/time -v ./loopmodel1

Command being timed: "./loopmodel1"
User time (seconds): 633.36
System time (seconds): 0.00
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 10:35.16
Average shared text size (kbytes): 0
Average unshared data size (kbytes): 0
Average stack size (kbytes): 0
Average total size (kbytes): 0
Maximum resident set size (kbytes): 540
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 183
Voluntary context switches: 1
Involuntary context switches: 53690
Swaps: 0
File system inputs: 0
File system outputs: 0
Socket messages sent: 0
Socket messages received: 0
Signals delivered: 0
Page size (bytes): 4096
Exit status: 0

Savez-vous s’il y a un bug identifié dans la librairie libm-2.17.so ?
Mon problème est-t’il ailleurs ?

Quelqu’un a observé le même “problème” ?

Merci par avance,
BB

Salut,

D’où vient cette librairie “libm-2.17.so” que je ne trouve dans aucun dépôt ?

[quote=“ggoodluck47”]Salut,

D’où vient cette librairie “libm-2.17.so” que je ne trouve dans aucun dépôt ?[/quote]

Paquet “libc6” -> http://packages.debian.org/search?suite=jessie&arch=i386&searchon=contents&keywords=libm-2.17.so
Ouvre un rapport de bug sur le bugzilla de Debian, ca peut être intéressant. Reste à savoir si c’est un bug “Debian” ou un bug “upstream”.

Salut,

libc6: Installé : 2.17-91 Candidat : 2.17-91 Table de version : *** 2.17-91 0 500 http://ftp.de.debian.org/debian/ unstable/main amd64 Packages 100 /var/lib/dpkg/status 2.17-90 0 1 http://ftp.de.debian.org/debian/ experimental/main amd64 Packages 2.17-7 0 500 http://ftp.de.debian.org/debian/ testing/main amd64 Packages 2.13-38 0 500 http://ftp.de.debian.org/debian/ stable/main amd64 Packages

Une mise à jour ce matin :slightly_smiling:

Bonjour,

Merci pour la réponse.

Concernant la mise à jour,
le paquet libc6 contient plusieurs lib.
J’ai fait la mise à jour ce matin, mais pas de mise à jour
de la libm a priori car mon problème est toujours présent.

Pour info le code mentionné tourne depuis plusieurs années,
je vais tenter de le simplifier pour pouvoir le poster
si nécessaire…

Je vais attendre un peu pour ouvrir un bug au cas où le problème
serait “ailleurs”.

Merci de nouveau,
BB

Re-bonjour,

J’ai posté un rapport de bug sur le tracker de Debian…

Wait & see…

Merci pour les réponses,
BB