Accueil > Forum > > > > Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?
Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?
samedi 4 mars 2006 à 23:37:49 |
Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

adess00
|
Bonjour,
Je voudrais savoir comment faire pour parcourir mon fichier plus rapidement, je travaille sur un algo de compression et donc il faudrai que mon fichier soit parcouru assez vite, winrar va plus vite sauf que lui il ecrit en plus !!
Voila mon code je pense que c'est la qu il y a des choses a ameliorer
fseek(fichier,0,SEEK_END);
int lmsg=ftell(fichier);
for (i=0;i
|
|
samedi 4 mars 2006 à 23:58:08 |
Re : Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

Guillemouze
|
je sais pas pourquoi tu fai du fseek !!!
moi je ferai plutot :
fseek(fichier, 0, SEEK_SET);
while (!feof(fichier)) {
c = fgetc(fichier);
octet[c]++;
}
J'ai pas testé mais ca devrait marcher je pense
|
|
dimanche 5 mars 2006 à 00:02:48 |
Re : Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

adess00
|
Parce que qu en je fai sa le dernier octet renvoyé est en dehors du fichier et il met une valeur dans mon tableau alors qu il ne devrai pas voila pouquoi j ai utilisé fseek mais vu qu il est en dehors de ma boucle je crois pas que c sa qui pourrait ralentir ma lecture
|
|
dimanche 5 mars 2006 à 00:13:13 |
Re : Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

Guillemouze
|
heu c en dehors de la boucle ca :?!!!
for (i=0;i<lmsg-1;i++) { fseek(fichier,i,SEEK_SET); c=fgetc(fichier); octet[c]+=1; }
normalement, quand tu fai un fgetc(), l'indicateur de position du fichier avance automatiquement !!!
enfin pour rester dans ton "delire", tu peu faire ca, ca sera surement plus rapide :
fseek(fichier,0,SEEK_END); int lmsg=ftell(fichier) - 1; fseek(fichier,0,SEEK_SET);
for (i=0;i<lmsg;i++) { c=fgetc(fichier); octet[c]++; }
|
|
dimanche 5 mars 2006 à 00:27:43 |
Re : Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

adess00
|
ah je croyai que tu parlai de celui que j avai mi au debut je savai pas que sa avancait tout seul je vais tester tout de suite
Merci !
|
|
dimanche 5 mars 2006 à 00:33:12 |
Re : Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

adess00
|
Mouai
Winrar est beaucoup plus rapide quand meme
Ce serais peut etre plus rapide de recuperer une chaine et de traiter la chaine, le nombre d acces au fichier serait reduit
Mais si sa change rien alors la ... je sais plus quoi faire
|
|
dimanche 5 mars 2006 à 00:43:22 |
Re : Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

Guillemouze
|
ouais mais j'espere que tu essayes pas d'arriver au niveau de winrar?! parce que les mecs ca fait un pti bout de temps qu'ils sont dessus, et je pense qu'ils utilisent des algo mathematiques pour compresser. Enfin sinon je sais pas trop commetn faire.bonne idee de minimiser le nombre d'acces fichier, reste a savoir si le gain est significatif ...
|
|
dimanche 5 mars 2006 à 00:54:51 |
Re : Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

adess00
|
Avec un text qui utilise que 18 caracteres j ai reussi a compresser 8 bits de mieux !!!
L algo de huffman donnait 166bits une fois compressé et j ai compressé le texte a 158 bits !!!!!!!!
Mais je dois l etendre a 256 carcteres
De toute facon meme si j arrive pas au niveau de winrar je posterai quand meme ma source quelqu un trouvera peut etre un moyen de l ameliorer.
Deja je crée pas d'arbre...
|
|
dimanche 5 mars 2006 à 01:49:10 |
Re : Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

BruNews
|
Aucun algo correct ne lit un fichier octet par octet, il faut remplir un buffer et travailler en mémoire puis boucler tant que tu as des octets d'aspirés dans le buffer. Bosse sur un buffer de 512 Ko minimum, tous les disques ont au moins 4 Mo de cache à notre époque. ciao... [ Lien ]BruNews, MVP VC++
|
|
dimanche 5 mars 2006 à 01:56:13 |
Re : Fichier de 3Mo parcouru en 15sec, comment faire plus rapide ?

adess00
|
OK j avai tester avec 1000 octet et pour 3Mo c etait deja plus rapide donc je vais j utiliserai 512Ko pour la suite.
La j en suis a inscrire les bits dans les octets mais je sais pas trop quoi utilisé je vais tenter les operateurs bit a bit je pense que c est mieux qu utiliser des chaines de caracteres
|
|
Cette discussion est classée dans : fichier, rapide, parcouru, 3mo, 15sec
Répondre à ce message
Sujets en rapport avec ce message
a l'aide (rapide) [ par alphaone ]
j'ai une function qui remplace dans une chaine de caractere un mot par un autre.je voudrai, que quelqu'un qui me donne un script, qui ouvre un fichier
tri alphabétique ultra rapide de chaines de caractères de longueur variable [ par mslider ]
-- Bonjour, je sais que c'est un forum dédié au C mais je vais parler de pascal. En effet je connais bien ce langage et je l'ai utilisé pour trier a
divser une chaine de caractere [ par boualiasma ]
Bonjour, J'ai un fichier contenant deux champs: objet (chaine de caractère) et valeur(chaine de caractère) ces deux champs sont séparés par deux poin
tester fichier vide ou non [ par boualiasma ]
Bonjour, J'ai un fichier qui est généré dans le programme. Ce fichier peut être vide ou non. Je voulais tester si le fichier est vide ou non si le f
Stream de fichier [ par warmup1992 ]
Bonjour à tous, je sais pas trop si je suis dans la bonne section mais bhon si je me suis trompé veuillez me pardonner ^^ :) Enfaite je post pour avo
traitement simultannée sur des fichiers [ par boualiasma ]
Bonjour, Je voulais faire un traitement en même temps sur un nombre de fichier.J'ai trouvé des difficultés pour résoudre ce problème. Je vous expliq
programmation en c++ [ par nanicha ]
slt; svp si quelqu'un peut m'aider pour écrire un programme en c++qui sépare entre les balises d'une page html et le texte qui est entre ces balises e
Interception de la copie de fichier [ par alphaone ]
Bonjour, pour mon projet GPL ultracopier, j'aurai besoin d'intercepter la copie de fichier (ou le déplacement) pour la faire avec mon soft (et non pas
Lecture d'un fichier en unicode [ par Albanderuaz ]
Bonjour, J'essaie de lire un fichier en "mode" unicode mais ça ne fonctionne pas: [code=cpp] wfstream fichier; fichier.open(L"D:\\a.mp3",ios::in|ios
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|