Re: performance de lecture de fichiers formatés
Fabien LE LEZ wrote on 03/05/2008 22:37:
> On Sat, 03 May 2008 21:46:32 +0200, Ploc <ploc@clop.invalid>:
>
>> En passant de C (à base de fscanf) à c++ avec ifstream (voir le code en
>> bas), je passe de 1min 40s en C à 3min 10s en c++.
>
> As-tu fait les mesures avec time (et, accessoirement, un top dans une
> autre console) ? 10 Mo/s, ce n'est pas très loin de la vitesse
> effective de lecture d'un fichier sur disque
pas vraiment, avec fread et un buffer de 64Ko, je lis 180Mo en 3 sec.!
(à la première lecture d'un fichier non caché - les lectures suivantes
prennent 172 ms), écart mesuré avec _ftime sur un binaire (fopen("rb"))
le "temps de lecture effectif" a tout chance d'être négligeable par
rapport au traitement de texte (scanf ou istream) qui est le problème
ici.
> [...] puis j'analyse chaque ligne moi-même (y compris, dans
> certains cas, avec sscanf). Mais je m'intéresse plus au
> contrôle d'erreur qu'aux performances.
et tu as p.e. les 2.
Sylvain.
|