+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Doctorant
    Inscrit en
    août 2008
    Messages
    21 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 21 840
    Points : 112 975
    Points
    112 975

    Par défaut Qt et les chaînes de caractères

    Tout le monde sait que tout framework, toolkit et langage plus récent que le C dispose de sa propre classe de chaîne de caractères. Certains disent même qu'il s'agit d'une fonctionnalité du langage C que de ne pas disposer d'un tel type, le gardant ainsi simple et effilé. D'autres en parlent comme d'un inconvénient, leur permettant de bomber la poitrine et de faire tomber les débutants dans le piège de la comparaison de chaînes avec == au lieu de strcmp().

    Qt et les chaînes de caractères : la théorie des chaînes
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions) ? Contactez-moi par MP.

    Nouveau ! Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  2. #2
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Doctorant
    Inscrit en
    août 2008
    Messages
    21 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 21 840
    Points : 112 975
    Points
    112 975

    Par défaut

    Avec les deux dernières versions de Qt, les performances ont été invariablement améliorées. Qt 4.5 a introduit les systèmes graphiques sous forme de plug-ins et de nombreuses améliorations de rendu. Qt 4.6, lui, ne s'est pas focalisé et les performances sur les systèmes embarqués n'ont cessé de s'améliorer avec chaque version de patch.

    Le problème avec ces accélérations est qu'on tombe à court de voies d'amélioration pour la prochaine itération. Nous avons jeté un coup d'œil pour de nouvelles zones d'amélioration et, une fois de plus, Qt 4.7 sera plus rapide que ses prédécesseurs.

    Qt et les chaînes de caractères : améliorer les performances lors du rendu avec plus de SIMD
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions) ? Contactez-moi par MP.

    Nouveau ! Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Doctorant
    Inscrit en
    août 2008
    Messages
    21 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 21 840
    Points : 112 975
    Points
    112 975

    Par défaut

    Inspiré par le travail de Benjamin, Samuel et d'autres avec SIMD, profitant de l'opportunité d'apprendre le sujet directement avec les ingénieurs d'Intel, qui connaissent le sujet mieux que quiconque, j'ai décidé de mettre les mains dans le cambouis et de faire aussi un peu de SIMD, après quelques heures de travail. Puisque je ne comprenais pas les bases des modes de composition, de fondu ou de rendu, j'ai décidé de tenter ma chance sur quelque chose de compréhensible : QtCore.

    Qt et les chaînes de caractères : améliorer les performances des chaînes avec SIMD... ou pas
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions) ? Contactez-moi par MP.

    Nouveau ! Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Doctorant
    Inscrit en
    août 2008
    Messages
    21 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 21 840
    Points : 112 975
    Points
    112 975

    Par défaut

    La semaine dernière, j'ai eu deux jours assez ennuyants, j'ai donc, pour me motiver, décidé de passer du temps à mon activité favorite : regarder le code assembleur (non, je n'ai pas de vie). Je le fais généralement pour voir comment le compilateur a optimisé certaines portions de code. Par ce biais, on peut découvrir de nouvelles choses et des sources d'améliorations potentielles. Cette semaine-là, j'ai appris quelque chose.

    Qt et les chaînes de caractères : chaînes et SIMD, la revanche (de Latin1)
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions) ? Contactez-moi par MP.

    Nouveau ! Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Doctorant
    Inscrit en
    août 2008
    Messages
    21 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 21 840
    Points : 112 975
    Points
    112 975

    Par défaut

    La dernière fois, nous avons attaqué le problème de la conversion de Latin1 (ISO-8859-1) en UTF-16 pour les QString. Cependant, la plupart des caractères des expressions littérales en code C++ sont en fait en ASCII, un sous-ensemble de Latin1, qui a la conversion la plus facile vers UTF-16. Les performances de cette opération nous importent donc.

    Qt et les chaînes de caractères : QString et Unicode, optimisation de QString::fromUtf8
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions) ? Contactez-moi par MP.

    Nouveau ! Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  6. #6
    Responsable Qt


    Avatar de dourouc05
    Homme Profil pro
    Doctorant
    Inscrit en
    août 2008
    Messages
    21 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Doctorant
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 21 840
    Points : 112 975
    Points
    112 975

    Par défaut

    La dernière fois, nous avons arrêté nos expérimentations sur la faisabilité de remplacer le codec Latin1 par défaut par UTF-8. Le texte prévu était plus long, mais a été raccourci pour se concentrer sur le code et les performances, sans tenir compte du contexte, des raisons, des détails.

    Qt et les chaînes de caractères : UTF-8, Latin1 et charsets
    Vous souhaitez participer aux rubriques Qt ou PyQt (tutoriels, FAQ, traductions) ? Contactez-moi par MP.

    Nouveau ! Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. Les chaînes de caractères.
    Par AsmCode dans le forum C
    Réponses: 5
    Dernier message: 13/03/2007, 11h38
  2. fonctions qui convertit les chaînes de caractères en entier
    Par poyoland dans le forum PHP & MySQL
    Réponses: 8
    Dernier message: 02/03/2007, 11h36
  3. MFC + Manipuler les chaînes de caractères
    Par mqsi dans le forum MFC
    Réponses: 2
    Dernier message: 15/11/2006, 16h24
  4. Réponses: 6
    Dernier message: 08/08/2006, 09h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo