Mouais. Les SPEC utilisent gzip/bzip2 (en fonction des années), gcc (une vieille version), des noyaux de type traversée de graphe, algèbre linéaire creux, etc., et du coup les fabricants de processeurs et compilateurs font du fine-tuning dessus pour avoir un joli score... :)
Je suis complètement pour l'utilisation d'applis plus grosses pour faire des tests en « conditions réelles » hein, mais par exemple compiler un gros projet ça risque de stresser plus ton hdd/ssd que ton processeur au final, et donc tes résultats seront bien pour ta machine perso, mais pas trop pour généraliser.
Les micro-benches sont intéressants pour voir si les limites théoriques annoncées par les constructeurs sont atteignables facilement. Genre on nous annonce « x GB/s » sur le cache L2 ? Ah oui, mais seulement en lecture, car en écriture on doit faire avec la politique d'allocation « write allocate » (c'est-à-dire on charge la ligne, puis on écrit). Du coup ensuite on passe (pour du x86 par ex) par des « non-temporal stores » et on s'aperçoit qu'en fonction du processeur, ça fait réellement ce qu'on veut ou pas. Je trouve que c'est quand même important d'en être conscient quand on écrit du soft pour la performance.
[^] # Re: Power8 chez OVH
Posté par lasher . En réponse au journal Le Power8 d'IBM pourra t-il s'imposer dans le monde des entreprises ?. Évalué à 3.
Mouais. Les SPEC utilisent gzip/bzip2 (en fonction des années), gcc (une vieille version), des noyaux de type traversée de graphe, algèbre linéaire creux, etc., et du coup les fabricants de processeurs et compilateurs font du fine-tuning dessus pour avoir un joli score... :)
Je suis complètement pour l'utilisation d'applis plus grosses pour faire des tests en « conditions réelles » hein, mais par exemple compiler un gros projet ça risque de stresser plus ton hdd/ssd que ton processeur au final, et donc tes résultats seront bien pour ta machine perso, mais pas trop pour généraliser.
Les micro-benches sont intéressants pour voir si les limites théoriques annoncées par les constructeurs sont atteignables facilement. Genre on nous annonce « x GB/s » sur le cache L2 ? Ah oui, mais seulement en lecture, car en écriture on doit faire avec la politique d'allocation « write allocate » (c'est-à-dire on charge la ligne, puis on écrit). Du coup ensuite on passe (pour du x86 par ex) par des « non-temporal stores » et on s'aperçoit qu'en fonction du processeur, ça fait réellement ce qu'on veut ou pas. Je trouve que c'est quand même important d'en être conscient quand on écrit du soft pour la performance.