Bonjour � tous,
Je cherche conseil sur les fonctions d'�criture de fichiers. Je developpe une application qui doit �crire des fichiers � 500 Mo/s (station bien dimensionn�e bien sur ^^). j'alloue pr�alablement un tableau de donn�es en m�moire que qui me sert ensuite pour nourrir les fonctions d'�criture.
J'ai r�alis� quelques tests pour �valuer les performances d'�critures des fonctions que je connais :
Et globalement, seules les 2 premi�res m�thodes semblent donner des r�sultats convenables. Je suis assez surpris de la performance m�diocre de la fonction C qui devrait �tre la plus rapide...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 CFile file(str,CFile::modeCreate | CFile::modeWrite); file.Write(Buffer,taille); file.Close(); HANDLE hFile = CreateFile(str2, GENERIC_ALL,0,0,CREATE_ALWAYS,FILE_FLAG_WRITE_THROUGH,0); WriteFile(hFile,Buffer,taille,&dwBytesWritten,&o); CloseHandle(hFile); std::ofstream File(str2,ios.binary); File.write((char*) Buffer,taille); File.close(); FILE* f; fopen_s(&f,str3.GetBuffer(),"w"); fwrite(Buffer,1,taille,f); fclose(f); CStdioFile file2(str2,CStdioFile::modeCreate | CStdioFile::modeWrite); file2.Write(Buffer,taille); file2.Close();
Est-ce que certains d'entre vous voient d'autres m�thodes, des astuces ou des erreurs dans mon code pour augmenter la vitesse d'�criture?
Merci d'avance.
Pense a mettre la balise code, Merci Farscape
Partager