Quelqu'un aurait-il fait des benchmarks pour tester les containers de Qt avec la STL ? ce serait interessant de savoir pour choisir ou du moins aider ...
merci
Quelqu'un aurait-il fait des benchmarks pour tester les containers de Qt avec la STL ? ce serait interessant de savoir pour choisir ou du moins aider ...
merci
Linux Mag avait fait un test, la STL état plus rapide.
plus rapide de combien ?Envoyé par Miles
c'etait significatif comme difference ?
Je ne me souviens plus du tout, ça date d'il y a 2 ans environ.
Quel rapport avec Tulip ?
Faut-il utiliser les containers de Qt ?
Quels sont vraiment les avantages en pratique ?
Pas de copie, surtout.
on m'a tellement dit sur ce forum que le cow etait une mauvaise chose que maintenant je me mefieEnvoyé par Miles
... donc tout le monde est d'accord pour n'utiliser que les containers de Qt ?
Pas de copie pour Qt, en général pour les autres conteneurs, il y a copie lorsqu'il y a copie d'un conteneur.Envoyé par epsilon68
Tu les utilises tout le temps maintenant ?
tu les previlégies a la STL ?
Jamais, je ne fais presque plus que du Python ou du C++ presque pur.
y a-t-il un gros avantage a se separer de Qt ?
À supposer que je vienne à utiliser QT, je me vois mal privilégier leur conteneurs.
Tout dépendra du sous-système considéré.
- Coeurs (métier) des systèmes -> SL.
- IHM -> QT.
Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...
Ils ont fait leurs propres conteneurs pour les plateformes qui n'ont pas de STL. Si on ne vise pas ce genre de plateforme, ça ne sert pas à gardn chose de les utiliser, à mon avis.
Pas mieux.Envoyé par Luc Hermitte
La regle generale, c'est de ne pas introduire des dependances sur ce qui n'en a pas reellement besoin. En particulieur le coeur ne doit pas dependre de l'UI.
Si les conteneurs de la SL ne conviennent pas -- en general en ce qui concerne les perfs, si on n'atteinds pas le niveau de perf cible etabli avant de faire des mesures -- les remplacer par des conteneurs ayant la meme interface mais plus adapte (exemple, avoir un vector optimise pour le cas ou il n'y a qu'un element dedans).
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Je suis principalement d'accord mais je dois dire que leur doc est particulierement bonne et que je ne connais pas chaque compilo comment ils ont implementé la STL alors je m'étais dis que Qt nous protegeait de cela justement.Envoyé par Jean-Marc.Bourguet
Je sais que KDE n'utilise que les conteneurs Qt, ils ont vraiment eu trop de problemes avec la STL et passé trop de temps a patcher leur code.
Je dois dire que j'avais eu aussi pas mal de surprise avec VC6 mais bon maintenant je pense que c'est réglé mais ... ?
Le projet KDE a par essence une dependance forte sur QT et une influence forte sur QT. Ses choix sont peu pertinents pour ceux qui n'ont pas la meme dependance et ni la meme influence.Envoyé par epsilon68
Nous utilisons pour le moment QT pour l'interface graphique. Pourtant dans le code que j'ai ecrit rien ne depend directement de QT. Il faut dire que nous utilisions Motif precedemment. Et rien dans le code hors GUI ne dependait de Motif. Resultat la transition a ete relativement douce.
D'un point de vue gestion de projet, introduire des dependances est a des desavantages, car ca gene l'evolution, ca gene la recuperation dans d'autres contextes. Maintenant, introduire des dependances peut avoir des avantages... il faut simplement les mettre en balance avec la probabilite qu'elles introduiront des couts dans le futur et l'ampleur de ces couts.
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
je suis de ton avis mais Qt permet aussi de coder plus vite. C'est une question dure a repondre, je suis tout le temps assez balancé. Aussi on peut se poser la meme question avec Boost ...Envoyé par Jean-Marc.Bourguet
en fait je crois que je ne considere pas Qt comme un GUI framework, mais plutot comme un framework entier avec une grosse partie UI.
Je pense que je vais utiliser boost et Qt core dans mon code metier
et Qt dans le code UI.
Ce que j'ai lu sur la STL a travers les compilateurs et les plateformes me disent de me mefier de la STL, mais bon a la fin si j'utilise ceux de Qt, j'utiliserais de toute facon les algo de la STL. L'avantage de Qt c'est sa doc ... incroyablement bien faite. Mes plateformes sont Windows / Mac / linux alors je ne pense pas rencontrer de plateforme particuliere.... alors je vais quand meme essayer d'utiliser la STL autant que possible.
autre question: comment vous faites pour retourner une collection ?
par exemple:
vector<string> tokenize( const string &s, char sep )
a l'utilisation:
vector<string> tokens = tokenize(string("bla;la;li;lere"), ';')
c'est minimum 2 copies je pense (votre confirmation?)
alors preferez-vous de la passer en parametre ?
void tokenize( vector<string> &tokens, const string &s, char sep )
la je pense c'est optimal mais c'est moins jolie et moins pratique je trouve.
Comment vous faites ?
Les collections de Qt sont-elles plus efficaces dans ce cas ? (en minimisant les copies avec le COW)
Plus optimisé mais pas forcément plus joli à écrire :vector<string> tokens = tokenize(string("bla;la;li;lere"), ';')
c'est minimum 2 copies je pense (votre confirmation?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 vector<string> tokens; tokenize(string("bla;la;li;lere"), ';').swap(tokens);Complétement. Perso je ne trouve pas ça moins joli ou moins pratique.alors preferez-vous de la passer en parametre ?
void tokenize( vector<string> &tokens, const string &s, char sep )
a je pense c'est optimal mais c'est moins jolie et moins pratique je trouve
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager