IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Gains de performances de Qt 5 par rapport à Qt 4
Une consommation de mémoire vingt fois moindre pour lancer une boucle d'événements

Le , par dourouc05

0PARTAGES

6  0 
En ce qui concerne la robustesse et la sécurité, il vaut souvent mieux avoir plusieurs démons (services en terminologie Windows), plus ciblés, plutôt qu'une grosse application monolithique. Avec Qt 4, il était possible de choisir les modules que l'on souhaitait pour son application – ainsi, on pouvait avoir un démon sans GUI. Avec les considérations architecturales orientées plateformes embarquées et la modularisation de Qt 5, on atteint un autre niveau.

Si on prend une simple application Qt, sans interface graphique, qui ne fait que lancer une boucle d'événements et attend trois secondes, tant pour Qt 4 que Qt 5, on a ce code :

Code : Sélectionner tout
1
2
3
4
5
int main() {
  QCoreApplication app(argc, argv);
  QTimer::singleShot(3000, &app, SLOT(quit()));
  return app.exec();
}
Sur une distribution Kubuntu 12.04, en 32 bits, avec Qt 4.8.1, massif (un outil disponible avec valgrind) reporte une utilisation mémoire maximale de 102 ko ; callgrind, un coût d'instructions d'approximativement 1,9 million (en ne comptant que les instructions exécutées dans main()). Avec Qt 5, le même massif sur le même système d'exploitation reporte une utilisation mémoire maximale de 4,9 ko (!), callgrind un coût de 114 000 (!). En d'autres termes, Qt 5 consomme vingt fois moins de mémoire et seize fois moins d'instructions pour instancier un objet QCoreApplication et lancer une boucle d'événements.

Qu'est-ce qui a changé depuis Qt 4 ? Principalement, la gestion des chaînes de caractères : Qt 5 considère que toutes sont en Unicode et ne charge les codecs associés à d'autres encodages que s'ils sont réellement nécessaires (leur chargement a aussi été amélioré, mais ne rien charger est toujours mieux). De même, C++11 est utilisé par endroits, ce qui fait qu'il n'y a pas besoin d'allocation pour instancier une QString contenant une chaîne Unicode.

Source : QCoreApplication mini benchmark.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de dourouc05
Responsable Qt & Livres https://www.developpez.com
Le 14/08/2012 à 20:20
Ça ne pourra pas lui faire de tort, mais toute application trop lourde et mal écrite dès le début restera lourde et mal écrite (ce qui n'est absolument pas le cas des dernières versions de KDE, d'après mon expérience personnelle).
3  0 
Avatar de marc.collin
Membre émérite https://www.developpez.com
Le 15/08/2012 à 10:21
Citation Envoyé par bmoez.j Voir le message
donc KDE 5.X sera trés légère et rapide et sa grand probleme se résoudra?
En fait faut juste éviter d'utiliser kubuntu et kde tourne comme par magie beaucoup mieux.

Citation Envoyé par Squisqui

C'est un excellent gestionnaire de bureau, mais les développeurs se sont bien cassés les dents lors du passage 3.5 -> 4.0.
Je me demande comment ça se passera pour KDE 5.0
Il y a eu énormément de changement d'architecture ainsi que des concepts clés.

Certaines distribution s'en n'ont mieux sortie que d'autre en prenant ce qui fonctionnait sous kde 4 et lorsque ça ne fonctionnait pas avec la version 4, il optait pour la version 3.x

Suse a opté pour cette solution. Pas parfaite, mais l'utilisateur pouvait profiter de kde 4 sans tout les problèmes.....

Ce n'est pas vraiment ce qui est à l'ordre du jours pour kde 5.
1  0 
Avatar de Daïmanu
Membre émérite https://www.developpez.com
Le 14/08/2012 à 20:47
Et qu'en est il du temps de compilation ?
J'imagine qu'il doit être réduit vu les changements de QString et l'utilisation de C++11
0  0 
Avatar de Gugelhupf
Modérateur https://www.developpez.com
Le 14/08/2012 à 21:02
Et qu'en est il du temps de compilation ?
16 fois moins d'instructions... 16 fois plus rapides ?

Est-ce que le temps de compilation est vraiment une contrainte par rapport au gain de mémoire énorme qu'apporte cette nouvelle version ? (encore faut-t-il que ces tests soient avérées dans 100% des cas).

Même s'il a prit du retard, vive C++11
0  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 15/08/2012 à 0:24
Citation Envoyé par Squisqui Voir le message
C'est un excellent gestionnaire de bureau, mais les développeurs se sont bien cassés les dents lors du passage 3.5 -> 4.0.
Je me demande comment ça se passera pour KDE 5.0
Bah, normalement, le portage devrait être simplifié. Du moins, c'est ce que l'on nous annonçait du temps des Qt Developers Days en Octobre 2011. Juste un script permettant de transformer un code Qt 4 en code Qt 5 (changement de 2 / 3 entêtes et autres babioles). Donc, à cette époque (et je ne vois pas pourquoi cela changerai) la transition semblait beaucoup moins douloureuses que du temps de Qt 3 -> Qt 4.
En même temps, il faut dire que la transition Qt 3 -> Qt 4 avait été assez compliqué (beaucoup de changement dans l'architecture même de Qt et des classes à utiliser). Donc Nokia voulait rassurer les développeurs en disant qu'ils ne reproduiront pas cela.
0  0 
Avatar de xelab
Membre expérimenté https://www.developpez.com
Le 16/08/2012 à 12:04
Citation Envoyé par marc.collin Voir le message
En fait faut juste éviter d'utiliser kubuntu et kde tourne comme par magie beaucoup mieux.
Rhoo le troll , j'ai un kubuntu à jour qui tourne parfaitement bien chez moi.
0  0 
Avatar de Squisqui
En attente de confirmation mail https://www.developpez.com
Le 14/08/2012 à 21:11
Citation Envoyé par dourouc05 Voir le message
(ce qui n'est absolument pas le cas des dernières versions de KDE, d'après mon expérience personnelle)
C'est un excellent gestionnaire de bureau, mais les développeurs se sont bien cassés les dents lors du passage 3.5 -> 4.0.
Je me demande comment ça se passera pour KDE 5.0
0  1 
Avatar de bmoez.j
Nouveau Candidat au Club https://www.developpez.com
Le 14/08/2012 à 18:42
donc KDE 5.X sera trés légère et rapide et sa grand probleme se résoudra?
0  2