Qt : l’influence du compilateur sur les performances

Résultats

Voici la liste des résultats obtenus sur différentes plateformes d’exécution. Je rappelle que seuls les résultats les plus significatifs ont été conservés, si vous souhaitez obtenir tous les résultats, téléchargez le code source, compilez le programme et exécutez le sur vos plateformes.

Le résultat des tests de threads est rapporté sous deux formes : le temps d’exécution total et le temps par coeur. Cette dernière a peu de sens en réalité car l’exécution n’est pas répartie équitablement sur chaque coeur et cela n’est pas contrôlable. En revanche, elle permet de comparer l’exécution sur deux machines dont l’une possède 2 fois plus de coeurs que l’autre.

PC 64 bits 8 coeurs, compilation Release (optimisations activées)

  • Qt 5.10 MSVC x64 (le plus rapide, facteur 1)
    • Instanciations : 1 539 ms
    • Destructions : 1 262 ms
    • Copies : 2 731 ms
    • Calculs : 2 971 ms
    • Appels : 4 332 ms
    • Run-loop : 3 684 ms
    • Threads : 1 458 ms, 182 ms par coeur
    • Total : 17 977 ms
  • Qt 5.10 MSVC x86
    • Instanciations : 2 442 ms (facteur 1,6)
    • Destructions : 2 158 ms (facteur 1,7)
    • Copies : 3 799 ms (facteur 1,4)
    • Calculs : 5 315 ms (facteur 1,8)
    • Appels : 6 686 ms (facteur 1,5)
    • Run-loop : 5 844 ms (facteur 1,6)
    • Threads : 1 628 ms, 203 ms par coeur (facteur 1,1)
    • Total : 27 872 ms (facteur 1,6)
  • Qt 5.4 mingw x86
    • Instanciations : 2 297 ms (facteur 1,5)
    • Destructions : 2 138 ms (facteur 1,7)
    • Copies : 2 843 ms (facteur 1,0)
    • Calculs : 5 024 ms (facteur 1,7)
    • Appels : 5 962 ms (facteur 1,4)
    • Run-loop : 5 799 ms (facteur 1,6)
    • Threads : 2 152 ms, 269 ms par coeur (facteur 1,5)
    • Total : 26 215 (facteur 1,5)
  • Qt 5.10 mingw x86
    • Instanciations : 2 365 ms (facteur 1,5)
    • Destructions : 2 190 ms (facteur 1,7)
    • Copies : 2 819 ms (facteur 1,0)
    • Calculs : 5 110 ms (facteur 1,7)
    • Appels : 6 029 ms (facteur 1,4)
    • Run-loop : 5 986 ms (facteur 1,6)
    • Threads : 2 195 ms (facteur 1,5)
    • Total : 26694 (facteur 1,5)

 

Partagez cet article !

Abonnez-vous à notre newsletter !

Si vous souhaitez être notifié lorsqu'un nouvel article est publié, abonnez-vous à notre newsletter et vous recevrez un email dès qu'un article sera publié.

Pages : 1 2 3 4

Articles similaires

Apprendre à développer ... Une de mes activités est la formation professionnelle à la conception et à la programmation d’applications avec Qt. J’envisage aujourd’hui de créer un MOOC payant pour partager
Qt : l’influence du... Résultats Voici la liste des résultats obtenus sur différentes plateformes d’exécution. Je rappelle que seuls les résultats les plus significatifs ont été conservés, si vous souhaitez obtenir
Adopter les flux tirés d... Nous abordons un des points essentiels de l’architecture réseau et applicative efficace et économe : les flux tirés. Partagez cet article ! Abonnez-vous à notre newsletter !
Qt : comment implanter un... L’application Voici à présent le fichier main.cpp [crayon-5d624f30eaa36331737371/] Après avoir déclaré une instance de QCoreApplication, nous démarrons le contrôleur et exécutons le traitement threadé. Au bout de
Qt : pourquoi et quand ut... Pourquoi créer des threads Ceci étant dit, ce qui nous intéresse dans cet article est aussi de savoir quand il est opportun de créer des threads. Je
Qt : distribuer ses appli... La distribution d’une application est une étape importante de la vie d’une application, elle nécessite d’être pensée très tôt dans la conception. Cette série d’articles présente les
Livre Maîtrisez Qt 5 ... La seconde édition du livre de Tristan Israël, Maîtrisez Qt 5 – Développement d’applications professionnelles, est parue. Vous pouvez le découvrir sur le site des éditions ENI.
Qt : Traiter une liste de... Pour qu’une interface graphique reste fluide aux yeux de l’utilisateur, le thread qui la gère ne doit jamais être interrompu plus d’une poignée de millisecondes. Or le
Utiliser la technique du ... Le lazy-loading, ou chargement paresseux en français, est une réponse simple à la question simple “pourquoi charger plus de données que nous ne pouvons en afficher ?”.

Laisser une réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *