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

  FORUM HardWare.fr
  Programmation
  C++

  Taille de buffer? [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Taille de buffer? [Résolu]

n°1503639
dwogsi
Défaillance cérébrale...
Posté le 16-01-2007 à 14:32:07  profilanswer
 

Bonjour à tous.
 
J'ai créé un petit programme dont le but est d'effectuer un traitement sur des fichiers.
Le fonctionnement est donc le suivant :
1 - Ouverture du fichier source
2 - Ouverture du fichier cible
3 - Lecture de x bits du fichier source et mise en mémoire
4 - Traitement de ces bits
5 - Ecriture dans le fichiers cible
6 - Si ce n'est pas la fin du fichier on revient au numéro 3
7 - Fermeture des fichiers
 
Avec ce fonctionnement on peut donc traiter de gros fichiers (mon objectif est dans les 600Mo) sans réserver trop de mémoire.
 
La question que je me pose, c'est :
De quelle manière doit on déterminer le nombre x de bits qu'on lit dans le fichier à chaque itération?
Autrement dit, comment déterminer la taille de l'espace réservé en mémoire par mon buffer?
 
En vous remerciant!


Message édité par dwogsi le 16-01-2007 à 16:00:22
mood
Publicité
Posté le 16-01-2007 à 14:32:07  profilanswer
 

n°1503665
0x90
Posté le 16-01-2007 à 15:03:31  profilanswer
 

tu le laisse configurable, tu fait des essais de valeurs (genre toute les puissances de 2) et tu prends la plus rapide [:spamafote]


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1503666
breizhbugs
Posté le 16-01-2007 à 15:04:42  profilanswer
 

Pour suivre, sinon moi je dirais un multiple de la taille d'un secteur sur le disque.

n°1503698
dwogsi
Défaillance cérébrale...
Posté le 16-01-2007 à 15:35:21  profilanswer
 

Bon je me demandais s'il n'y avait pas une logique quelque part permettant de calculer ça mais visiblement la réponse est non.

0x90 a écrit :

tu le laisse configurable, tu fait des essais de valeurs (genre toute les puissances de 2) et tu prends la plus rapide [:spamafote]


Je vais faire des tests, et trouver une taille dans la limite du raisonable et offrant de bonnes perf.

breizhbugs a écrit :

Pour suivre, sinon moi je dirais un multiple de la taille d'un secteur sur le disque.


Voilà qui est intéressant! Et tout à fait logique.
Merci pour l'idée, je n'y aurais pas pensé tout seul.
 
Je vais faire le calcule à partir de cette donnée je pense. C'est à dire trouver le plus grand multiple de la taille des secteurs inférieur ou égale à la limite que j'aurais définie.
 
Qu'en dites-vous?

n°1503713
0x90
Posté le 16-01-2007 à 15:50:49  profilanswer
 

Que rien ne vaut l'expérimentation pour être sûr.

 

Et à la limite une fois le choix établi, tu le fixe et s'il est gros tu ajoute une option -lowmem avec un buffer nettement plus petit pour les gens qui ont peu de ram.


Message édité par 0x90 le 16-01-2007 à 15:50:58

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1503719
dwogsi
Défaillance cérébrale...
Posté le 16-01-2007 à 15:55:23  profilanswer
 

Bon ba, c'est parti pour une série de test sur différentes machines!
Je vais aussi mettre un buffer de petite taille pour les gens qui on peu de ram, comme tu me le conseils.

 

Merci pour vos idées.


Message édité par dwogsi le 16-01-2007 à 16:02:44

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

  Taille de buffer? [Résolu]

 

Sujets relatifs
pb de conception hibernate ... [RESOLu][Résolu]if qui ne fonctionne pas
Comment supprimer ligne vide en vbs?[RESOLU] Retrouver un objet selon son type
[javascript ou HTML] : un menu déroulant visible ou invisible(résolu)[Résolu]Probleme header information
[Résolu] J'ai Besoin De Votre Aide !![Résolu] lister les clefs étrangeres
[ RESOLU] Suppression de chaînes de caractères 
Plus de sujets relatifs à : Taille de buffer? [Résolu]


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