Di base proverei con gli stream C++ e con quelli C e farei un profiling per vedere quali dei due sono più veloci. Se devi spremere il massimo invece userei direttamente le API di Windows, oppure, se i file sono sempre più piccoli di 1.5 GB e sono da correggere in-place, considererei la possibilità di mappare il file in memoria. In ogni caso il trucco per andare veloci è leggere sempre il file a blocchi di dimensioni adeguate in un buffer e lavorare su esso, invece di continuare a leggere a spizzichi e bocconi dallo stream.Originariamente inviato da White_Dragon
Mmm... lavevo letto da qulke parte che erano + veloci e mi era pure sembrato...
a questo punto se mi dici così mi viene da chiederti un'ultima cosa e scusami per le troppe domande ^__^
Secondo te se voglio scrivere una mole di dati +tosto grande, ti faccio un es. banale:
Riscrivere un filmato AVI correggendo le parti errate o chunk di byte 0x00, sempre in c/c++ che metodi mi consiglieresti da usare? Avrei bisogno di metodi veloci per scrivere file di 600/700 mb...

Rispondi quotando
