En même temps, si tu lit mal la doc ....
Quand j'utilise une fonction que je n'ai pas écrite, je cherche un minimum les implications que cela aura sur mon code (dont les implications mémoires).
Sinon je trouve le code beaucoup mieux que du code Java et aussi plus instructif. Mais bon l'égout et les couleuvres.
Pour la partie que je souhaite garder et qui nécessite l'archivage
- Mails (je garde tous les mails, pièces jointes comprises) ==> 1 Go
- Logiciel écrits (ca c'est pas très gros)
- Documents (Facture PDF, Comptes, ou document trouver sur Internet parlant d'un sujet intéressant : PDF sur Latex, PDF sur Qt, PDF sur la RFC XSD, ...)
- Photos (plusieurs Go et c'est là qu'un DVD ne devient plus suffisent).
Je suis d'accord pour l'archivage chez un proche mais la question est sur quel support ....
Pour les bandes magnétiques, je crois q'un lecteur de bande magnétique n'est pas pour rien. De plus en cas de problème, je souhaiterai pouvoir retrouvé la donnée relativement vite (point que je n'avais pas précisé).
Ensuite, pour l'espace de stockage à distance, j'ai déjà testé. Pour transférer en upload quelques vingtaines de Go, il me faudrait plusieurs semaine de transfert ... :(
La version sous Windows, et la version 3.x et sous Linux la version 4.x mais j'avais déjà fait des tests avant avec d'autres version pour voir si cela changé quelque chose.
Merci à tous pour toutes ces informations, je pense qu'elle pourront être utile à d'autres.
Voilà ce que j'ai changé :
- utilisation de l'option -pipe
- utilisation du linker gold
Je suis passé de plus de 40h à 75m ... La phase de link sur les exe (qui sont en faite au nombre de 800) passe de quelque minute par exe à quelque seconde (voir centième de seconde).
Je pense que c'est surtout grâce à gold. J'espère qu'il est maintenu et qu'il sera améliorer, car c'est vraiment un très bon linker (grâce à lui la compilation est plus rapide que celle avec VisualStudio sous Windows).
Y-a-t-il une bonne méthode pour trouver le bon ordre ?
Le problème est qu'il y a 11 librairies qui peuvent dépendre l'une de l'autre, j'ai donc des milliers de ligne de undefined reference, et j'ai du mal à retrouver qui va avant quoi (et avec les dépendances circulaire, il faut parfois mettre deux fois la librairie sur la même ligne :( )
Une fois compilé, est-il possible avec une commande, d'extraire l'ordre des dépendances des librairies statique ?
Personnellement je ne trouve pas cela normal mais ce n'est pas moi qui ai écris ce logiciel et il est bien trop tard (vu sa taille) pour changer ce point (en tout cas ce n'est pas pour tout de suite).
Je vais regarder si je n'utilise pas l'option pipe, mais je crois que je l'utilise déjà. Cette option ne fonctionne que pour la compilation ou également pour la phase de linkage ?
Pour la compilation multi-cpu, je suis à trois process par CPU (make -j3) sur les deux machines (des dual core).
Je pourrais monté à plus pendant la phase de compilation (CC) mais je suis limité en mémoire pendant la phase de link (LD), 3 processus est alors le maximum.
Comme dit dans le journal, il ne m'est pas possible de compiler en dynamique. Le but est de pouvoir livrer un exécutable et pas l'ensemble des exécutables en cas de correction (et on ne vas pas gérer les problématiques de compatibilité binaire entre les librairies et les exécutables). On veux également, en cas de bug, pouvoir livrer un exécutable sans impacter la configuration existante du reste du serveur chez le client (les autres exécutables, qui sont censé fonctionné). Bref quand ca marche on touche pas.
Ensuite, j'ai une autre problématique, le logiciel est vieux de quelque milliers d'année (1992), il y a donc des choses qui ont été écrites d'une certaine manière (inter-dépendance des librairies), qui même si je trouve ça dommage, je ne vais pas pouvoir y faire grand chose vu la taille du bousin.
Oui c'est bien --start-group
Mais comme j'utilise la même option sous Windows et sous Linux, je ne crois pas que c'est cette partie qui change énormément (bien que je dois pouvoir y gagner si je trouve le bonne ordre).
C'est la consommation mémoire qui prend le plus pendant la phase de link : 1Go par ld. Les CPUs est presque à fond (variation entre 90% et 100% par CPU), mais je ferait un benchmark des disques pour comparer.
Je pense que ca na pas encore vraiment d'importance.
Tu as les drivers Qt pour utiliser postgres, mysql, db2, ibase, oracle, ... ainsi que sqllite.
Tu peux utiliser sqllite en attendant, et le jour où tu auras plusieurs postes ou que la volumétrie se fera sentir, tu pourras migrer vers une autre base sans difficulté (juste changé de backend).
Hmmm mon programme n'a pas tant évolué que ça.
En testant avec une ancienne version de mon programme, j'ai toujours ce problème de lenteur (alors qu'avant je ne l'avait pas).
Tu dois avoir également de faire du Phyton/Kde ou Phyton/Kde ;) et ainsi utiliser QtDesigner.
Sinon il me semble qu'il y avait une appli qui s'appelait Kommander et qui permettait de faire des petites applis en script avec une interface graphique. Je ne sais pas si avec KDE 4, elle existe encore.
[^] # Re: Intéressant
Posté par phoenix (site web personnel) . En réponse au journal Encore une histoire de récupérateur de mémoire. Évalué à 2.
Quand j'utilise une fonction que je n'ai pas écrite, je cherche un minimum les implications que cela aura sur mon code (dont les implications mémoires).
Sinon je trouve le code beaucoup mieux que du code Java et aussi plus instructif. Mais bon l'égout et les couleuvres.
[^] # Re: Petites annonces gratuites
Posté par phoenix (site web personnel) . En réponse au message Site de vente en ligne. Évalué à 2.
[^] # Re: NX est…
Posté par phoenix (site web personnel) . En réponse à la dépêche Google sort un serveur NX libre. Évalué à 2.
[^] # Re: Ça pour une nouvelle ..
Posté par phoenix (site web personnel) . En réponse à la dépêche Google sort un serveur NX libre. Évalué à 3.
[^] # Re: Y a pas mieux
Posté par phoenix (site web personnel) . En réponse au message Périnité des données. Évalué à 2.
- Mails (je garde tous les mails, pièces jointes comprises) ==> 1 Go
- Logiciel écrits (ca c'est pas très gros)
- Documents (Facture PDF, Comptes, ou document trouver sur Internet parlant d'un sujet intéressant : PDF sur Latex, PDF sur Qt, PDF sur la RFC XSD, ...)
- Photos (plusieurs Go et c'est là qu'un DVD ne devient plus suffisent).
Je suis d'accord pour l'archivage chez un proche mais la question est sur quel support ....
[^] # Re: Y a pas mieux
Posté par phoenix (site web personnel) . En réponse au message Périnité des données. Évalué à 4.
[^] # Re: Y a pas mieux
Posté par phoenix (site web personnel) . En réponse au message Périnité des données. Évalué à 3.
Ensuite, pour l'espace de stockage à distance, j'ai déjà testé. Pour transférer en upload quelques vingtaines de Go, il me faudrait plusieurs semaine de transfert ... :(
[^] # Re: Version de gcc et cygwin ?
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 1.
# Merci à tous pour toutes les informations
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 6.
Voilà ce que j'ai changé :
- utilisation de l'option -pipe
- utilisation du linker gold
Je suis passé de plus de 40h à 75m ... La phase de link sur les exe (qui sont en faite au nombre de 800) passe de quelque minute par exe à quelque seconde (voir centième de seconde).
Je pense que c'est surtout grâce à gold. J'espère qu'il est maintenu et qu'il sera améliorer, car c'est vraiment un très bon linker (grâce à lui la compilation est plus rapide que celle avec VisualStudio sous Windows).
Merci
[^] # Re: Bibliothèques
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 2.
Le problème est qu'il y a 11 librairies qui peuvent dépendre l'une de l'autre, j'ai donc des milliers de ligne de undefined reference, et j'ai du mal à retrouver qui va avant quoi (et avec les dépendances circulaire, il faut parfois mettre deux fois la librairie sur la même ligne :( )
Une fois compilé, est-il possible avec une commande, d'extraire l'ordre des dépendances des librairies statique ?
[^] # Re: Bibliothèques
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 2.
[^] # Re: Quel linker ?
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 3.
Thread model: win32
gcc version 3.4.5 (mingw-vista special r3)
D'après ce que je crois lire, c'est ld aussi, mais peut-être un ld made in mingw.
[^] # Re: Machines "à peu près" équivalentes
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 2.
[^] # Re: options
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 2.
Mais j'enverrai un mail à la mailing list si jamais je ne peux pas améliorer plus les perfs avec gold ou -pipe.
[^] # Re: option d'optimisation ?
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 1.
[^] # Re: Tuyaux et compilation parallèle ?
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 1.
Pour la compilation multi-cpu, je suis à trois process par CPU (make -j3) sur les deux machines (des dual core).
Je pourrais monté à plus pendant la phase de compilation (CC) mais je suis limité en mémoire pendant la phase de link (LD), 3 processus est alors le maximum.
[^] # Re: ...
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 5.
Ensuite, j'ai une autre problématique, le logiciel est vieux de quelque milliers d'année (1992), il y a donc des choses qui ont été écrites d'une certaine manière (inter-dépendance des librairies), qui même si je trouve ça dommage, je ne vais pas pouvoir y faire grand chose vu la taille du bousin.
[^] # Re: gold
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 2.
Merci de l'information
[^] # Re: Bibliothèques
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 2.
Mais comme j'utilise la même option sous Windows et sous Linux, je ne crois pas que c'est cette partie qui change énormément (bien que je dois pouvoir y gagner si je trouve le bonne ordre).
[^] # Re: .
Posté par phoenix (site web personnel) . En réponse au journal GCC lent. Évalué à 2.
# Pas d'importance
Posté par phoenix (site web personnel) . En réponse au message quelle base de données choisir ave Qt. Évalué à 2.
Tu as les drivers Qt pour utiliser postgres, mysql, db2, ibase, oracle, ... ainsi que sqllite.
Tu peux utiliser sqllite en attendant, et le jour où tu auras plusieurs postes ou que la volumétrie se fera sentir, tu pourras migrer vers une autre base sans difficulté (juste changé de backend).
[^] # Re: Magie !
Posté par phoenix (site web personnel) . En réponse au journal Aider au développement d'un nouveau gestionnaire de paquets. Évalué à 1.
phoenix@ks354416:/tmp$ cat toto.c
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[]){
return 0;
}
$ cc toto.c -o toto
$ md5sum toto
9369f8c6f84f837af9f472d6020b7739 toto
J'ai lancé le formatage et vous tiens au coura
[^] # Re: gdb est lent par nature
Posté par phoenix (site web personnel) . En réponse au message GDB lent. Évalué à 1.
En testant avec une ancienne version de mon programme, j'ai toujours ce problème de lenteur (alors qu'avant je ne l'avait pas).
[^] # Re: désolé pour KDE
Posté par phoenix (site web personnel) . En réponse au message Afficher un bargraph avec indicateurs min/max.. Évalué à 3.
http://www.qtsoftware.com/developer/embedded-widget-demos
et http://www.qt-apps.org/ ou tu peux trouver :
http://www.qt-apps.org/content/show.php/QVUMeter?content=756(...)
http://www.qt-apps.org/content/show.php/QProg?content=75108
http://www.qt-apps.org/content/show.php/QCol?content=74565
http://www.qt-apps.org/content/show.php/QPotMet?content=7451(...)
http://www.qt-apps.org/content/show.php/QPot?content=74425
[^] # Re: désolé pour KDE
Posté par phoenix (site web personnel) . En réponse au message Afficher un bargraph avec indicateurs min/max.. Évalué à 2.
Sinon il me semble qu'il y avait une appli qui s'appelait Kommander et qui permettait de faire des petites applis en script avec une interface graphique. Je ne sais pas si avec KDE 4, elle existe encore.