[boost] Parsing de fichiers simples mais très gros

Parsing de fichiers simples mais très gros [boost] - C++ - Programmation

Marsh Posté le 04-03-2010 à 17:00:53    

Bonjour,
 
J'ai vu dans différents topics évoquant le parsing que vous conseillez toujours d'utiliser soit boost::tokenizer soit boost::spirit.
N'étant pas (encore) un adepte de boost, je ne sais pas vraiment laquelle choisir.
 
En effet, le parsing que j'ai à faire est relativement simple : une ligne correspond à la représentation sparse d'un vecteur sous la forme index:value.
Toutefois les fichiers sont très (très) volumineux. Il y a de l'ordre de 500 000 lignes contenant chacune un vecteur de 700 features.
Je voudrais donc savoir lequel est le moins couteux entre spirit et tokenizer. Ou autre chose si vous avez :D , mais je préfèrerais éviter une nouvelle librairie.
 
Merci d'avance ;-)

Reply

Marsh Posté le 04-03-2010 à 17:00:53   

Reply

Marsh Posté le 04-03-2010 à 18:22:13    

si le fichier est très gros, lis le dans un fichier memory mapped and utilisant boost::iostreams:
http://www.boost.org/doc/libs/1_41 [...] _file.html

 

Ensuite si c'est juste index:value, boost::tokenizer suffit.


Message édité par Joel F le 04-03-2010 à 18:23:08
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed