Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1545 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [STL] fonctions adaptees a mes besoins ????

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[STL] fonctions adaptees a mes besoins ????

n°289882
farib
Posté le 20-01-2003 à 12:43:23  profilanswer
 

voila je veux faire une pteit analyseur de fichier logs de realpopup ( un service de messagerie winpopup en LAN)
 
 
les messages font une centaine d'octets, les logs quelques mo
 
 
 
je voulais savoir si c'etait adapte de le faire en c++/stl, a savoir de faire un vector/liste de quelques milliers de messages, chaque message etant une structure ( champ, destinataire, date, contenu, etc....) puis d'utiliser les fonctions de la stl afin re faire des recherches, classements, etc....
 
 
ou si la base de donnee avait d'autres bibliotheaues / langages plus adaptes
 
en gros, je veux savoir dans quelle direction il faut que j'aille


Message édité par farib le 20-01-2003 à 12:43:50
mood
Publicité
Posté le 20-01-2003 à 12:43:23  profilanswer
 

n°290125
farib
Posté le 20-01-2003 à 17:24:38  profilanswer
 

:ange: :ange:

n°290152
nraynaud
lol
Posté le 20-01-2003 à 17:57:18  profilanswer
 

farib a écrit :

voila je veux faire une pteit analyseur de fichier logs de realpopup ( un service de messagerie winpopup en LAN)
 
 
les messages font une centaine d'octets, les logs quelques mo
 
 
 
je voulais savoir si c'etait adapte de le faire en c++/stl, a savoir de faire un vector/liste de quelques milliers de messages, chaque message etant une structure ( champ, destinataire, date, contenu, etc....) puis d'utiliser les fonctions de la stl afin re faire des recherches, classements, etc....
 
 
ou si la base de donnee avait d'autres bibliotheaues / langages plus adaptes
 
en gros, je veux savoir dans quelle direction il faut que j'aille


Le vrai pb se situerait plutôt au niveau de l'allocateur, tu peux faire des collections de n'importe quoi (donc de pointeurs par exemple). Mais tu ne pourras pas créer/détruire des trucs souvent.
 
Mon conseil du jour : si tu ne connais que le C++, fais-le avec des pointeur n'alloue qu'une seule fois chaque objet que tu aura désérialisé des fichiers, partage des pointeurs dessus et tu vireras tout à la fin du programme. Evidement, pour les objets intermédiaires tu devras être plus fin que ça si tu en crées beaucoup au cours de l'analyse. Mais pour les objets contenus dans les logs, fais ça.  
Si tu crées beaucoup d'objets au cours de l'analyse et que la création/destruction ou le coût de la garder en mémoire est inacceptable, passe à un langage où la mémoire est gérée (haskell, caml, java par ex.), les allocateurs tiennent beaucoup mieux la route en général.

n°290171
farib
Posté le 20-01-2003 à 18:25:08  profilanswer
 

en fait comment ca se passe : je lis mon fichier de logs, je le met en mémoire, et je lui fais sortir des statistiques
 
 
donc tu me conseilel de faire un vector de pointeurs sur un log plutot qu'un log, voui, ca vaudra mieux
 
 
ensuite, quand a savoir s'il faut que je le garde en mémoire, je ne sais pas exactement. mon programmer tiendra surement la route sur mon xp1700 256 mo :), masi je ne sais pas s'il sera fait d'une maniere appropriée et propre, c'est surtout ca qui me "fais peur"
 
 
en fait, je construit tout en parsant mon fichier de logs, puis uen fois que c'est fini, je lui fais faire des recherches, et je désalloue en quittant la probleme
 
 
le fait est que ce n'est peut etre pas comem ca qu'il faut faire pour faire du traitement de bdd en c++, mais ca je peux pas me prononcer dessus.

n°290416
farib
Posté le 21-01-2003 à 00:34:12  profilanswer
 

up  :kaola:

n°290430
nraynaud
lol
Posté le 21-01-2003 à 05:57:11  profilanswer
 

farib a écrit :

en fait comment ca se passe : je lis mon fichier de logs, je le met en mémoire, et je lui fais sortir des statistiques
 
 
donc tu me conseilel de faire un vector de pointeurs sur un log plutot qu'un log, voui, ca vaudra mieux
 
 
ensuite, quand a savoir s'il faut que je le garde en mémoire, je ne sais pas exactement. mon programmer tiendra surement la route sur mon xp1700 256 mo :), masi je ne sais pas s'il sera fait d'une maniere appropriée et propre, c'est surtout ca qui me "fais peur"
 
 
en fait, je construit tout en parsant mon fichier de logs, puis uen fois que c'est fini, je lui fais faire des recherches, et je désalloue en quittant la probleme
 
 
le fait est que ce n'est peut etre pas comem ca qu'il faut faire pour faire du traitement de bdd en c++, mais ca je peux pas me prononcer dessus.


 
de toute façon, la désallocation explicite n'est pas adaptée aux problèmes de graphes mutans, qui sont la majorité des application informatique et dans lequel tu es, jusqu'au cou. C'est pourqoui je te propose, si tu peux prouver que la quantité de mémoire allouée au cours du programme est bornée de ne rien désallouer avant la fin. Sinon, prends un langage adapté, comme tu vas probablement faire de la reconnaissance de motifs, je te suggère un langage adapté : Haskell si tu as du temps (pour digérer des paradygmes assez nouvaux, je suppose) et de la curiosité (réécriture de graphes fainéante, je me souviens plus s'il y a partage des variables ou non) si tu veux un langage moins déroutant pour un mec qui utilise de l'impératif (donc que tu as moins de temps), prend O'Caml.

n°290445
farib
Posté le 21-01-2003 à 07:42:50  profilanswer
 

nraynaud a écrit :


 
de toute façon, la désallocation explicite n'est pas adaptée aux problèmes de graphes mutans, qui sont la majorité des application informatique et dans lequel tu es, jusqu'au cou. C'est pourqoui je te propose, si tu peux prouver que la quantité de mémoire allouée au cours du programme est bornée de ne rien désallouer avant la fin. Sinon, prends un langage adapté, comme tu vas probablement faire de la reconnaissance de motifs, je te suggère un langage adapté : Haskell si tu as du temps (pour digérer des paradygmes assez nouvaux, je suppose) et de la curiosité (réécriture de graphes fainéante, je me souviens plus s'il y a partage des variables ou non) si tu veux un langage moins déroutant pour un mec qui utilise de l'impératif (donc que tu as moins de temps), prend O'Caml.


 
 
oué, masi la.... je connais le C/C++ et sui capable d'apprender, je connais le caml-light :), masi apprende un tout nouveau langage.... on va s'en tenir au c++ ?

n°290486
nraynaud
lol
Posté le 21-01-2003 à 09:13:54  profilanswer
 

farib a écrit :


 
 
oué, masi la.... je connais le C/C++ et sui capable d'apprender, je connais le caml-light :), masi apprende un tout nouveau langage.... on va s'en tenir au c++ ?


 
Nous sommes en démocratie mon gars.
 
Par contre c'est pas la peine de plaider : "chaque langage a son usage" par la suite. Si c'est pour ne pas utiliser caml alors que tu le connais et que donc tu sais qu'il est plus adapté à ta situation.

n°290619
farib
Posté le 21-01-2003 à 11:06:41  profilanswer
 

nraynaud a écrit :


 
Nous sommes en démocratie mon gars.
 
Par contre c'est pas la peine de plaider : "chaque langage a son usage" par la suite. Si c'est pour ne pas utiliser caml alors que tu le connais et que donc tu sais qu'il est plus adapté à ta situation.


 
 
nan.
 
j'ai fait du camlight en prepa ( de l'algo )
 
 
mais je pense que le meilleur rappot qualite prix, c'est a dire performance-qualite de programmation-temps d'apprentissage est pour moi de faire mon programme en c++, d'ou mes questions sur le c++/stl.  
 
aussi au fait que je cherche juste a faire un ptit prog de qq ko au max, et que j'en referais pas d'autre dans le style
 
donc je pense pas que cq vailel le coup que je me mette a l'ocaml ( meme si l'inria roulaize)
 
 
enfin c comme ca ke je vois les choses

n°291904
farib
Posté le 22-01-2003 à 15:39:11  profilanswer
 

up

mood
Publicité
Posté le 22-01-2003 à 15:39:11  profilanswer
 

n°292296
Musaran
Cerveaulté
Posté le 23-01-2003 à 03:47:05  profilanswer
 

Fais-le en C++ STL conteneur + algorithme, je pense que c'est parfaitement jouable pour quelques mo.
 
Une fois que ça marche, et si la vitesse est un problème, tu peut optimiser:
Mapper le fichier en mémoire (pas standard), et utiliser des types faisant référence aux données plutôt que de les copier.
Pour des données devant être chargées (traduites ?), tu peut utiliser un allocateur pour simplifier l'allocation/libération.
 
Mais je ne les connais pas bien... on verra seulement si c'est nécessaire.


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [STL] fonctions adaptees a mes besoins ????

 

Sujets relatifs
[C]Besoin d'idées de fonctions pour un projet[STL] vector/list de structures, recherche d'elements de la structure
[ Perl ] - inporter des fonctions C++[Delphi] débutant : créer une unit de fonctions
des ptites questions sur la STL et sur stringFPDF Passer ue variable a la fonctions header
Fonctions pour passer un int vers un char et une chaine vers un int ?Capitalisation de fonctions JS
Script de chat a mettre sur un site... mais avec certaines fonctions !Ecrire un programme C utilisant des fonctions faites en assembleurs...
Plus de sujets relatifs à : [STL] fonctions adaptees a mes besoins ????


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR