begin process at 2008 05 16 06:31:46
1 173 216 membres
58 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

TEST VITESSE SELON TYPE (WIN32, WIN64)


Information sur la source



Description

Le zip contient version Win32 et x64.

Seuls intéressent les résultats indiqués par la colonne 'perfs', le reste n'est qu'un retour bidon de fonction.

Pour continuer la discussion commencée en commentaires sur:
http://www.cppfrance.com/code.aspx?ID=45969
où j'avais dit:
"Si on mettait le 'int' à 2 octets ce ne serait pas une optimisation mais une nuisance surtout en terme de perfs.
Ce code est pour Window qui a fort heureusement et définitivement (comme les autres acteurs majeurs) exclu C99 de ses compilos, int et long resteront à 4 octets."

Je mets en évidence par ce code que les manipulations sur 4 octets (8 pour x64) sont toujours les meilleures.
Tout le code des boucles est en ASM pour ne pas être dépendant des optimisations incontrolables du compilateur. Les boucles sont strictement identiques pour chaque bouton, aucun accès mémoire qui provoquerait des rechargement de page, juste une lecture et écriture  sur adresse fixe de la stack par tour de boucle et la même pour chaque test.

CONSTATATIONS PERSO:
Sur Win32: le bouton DWORDs donne quasi à tout coup les temps nécessaires à ce calcul stérile. On note par contre avec BYTEs et WORDs des variations très importantes et très fréquentes. Je n'ai pas la réponse certaine du pourquoi, je suppose une latence de cache due au chargement des instructions courtes préfixées.
Sur x64: QWORDs et DWORDs idem, surement du au fait que x64 n'est qu'une extension du 32. L'emploi de BYTEs et WORDs y est toujours aussi contre productif.

Variations identiques avec Windows XP sur P4 HT et Window Server 2008 x64 sur bi XEON.

Toutes vos constatations et commentaires seront les bien venus.
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

  • signaler à un administrateur
    Commentaire de racpp le 09/03/2008 19:17:40 administrateur CS

    Salut,
    Très intéressant.
    Sur mon p4 2.8:
    BYTEs=4103
    WORDs=4248
    DWORDs=4410
    QWORDs=champ reste vide


  • signaler à un administrateur
    Commentaire de racpp le 09/03/2008 19:20:51 administrateur CS

    Il parait que j'ai des résultats inverses non?

  • signaler à un administrateur
    Commentaire de racpp le 09/03/2008 19:22:47 administrateur CS

    Au test suivant j'ai 5087, 4196 et 4074

  • signaler à un administrateur
    Commentaire de BruNews le 09/03/2008 19:30:12 administrateur CS

    Comme tous les tests, faut faire sur une série, pour ça que j'ai mis des boutons. Répéter plusieurs fois de suite la même fonction et noter le meilleur temps et les variations.

  • signaler à un administrateur
    Commentaire de BruNews le 09/03/2008 19:35:53 administrateur CS

    En version 32, bien entendu je n'ai pas implémenté QWORD car l'adressage natif 64 n'existe pas (hors les registres XMM mais dans un tout autre but).

  • signaler à un administrateur
    Commentaire de racpp le 09/03/2008 19:55:58 administrateur CS

    Voici mes meilleurs scores :)
    BYTEs=4073
    WORDs=4076
    DWORDs=4059

Ajouter un commentaire

Appels d'offres

Pub



Snippets en rapport

CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS