Potrzebuję zapisać dane na dysku. Mam dwie opcje:Co jest szybsze, zapisywanie nieprzetworzonych danych na dysku lub zapisywanie do pliku?
- zapisu sektorów surowców (_ write (uchwyt, pBuffer, rozmiar);)
- zapisu do pliku (fwrite (pBuffer, wielkość, ilość, pFile);)
Która droga jest szybsza?
Spodziewałem się, że funkcja zapisu sektora surowego, _write, będzie bardziej wydajna. Jednak mój wynik testu nie powiódł się! fwrite jest szybszy. _write kosztuje dłuższy czas.
Wkleiłem mój fragment; może mój kod jest błędny. Czy możesz mi pomóc? Tak czy inaczej jest w porządku przez mnie, ale myślę, że surowy zapis jest lepszy, ponieważ wydaje się, że dane z dysku są szyfrowane przynajmniej ....
#define SSD_SECTOR_SIZE 512
int g_pSddDevHandle = _open("\\\\.\\G:",_O_RDWR | _O_BINARY, _S_IREAD | _S_IWRITE);
TIMER_START();
while (ulMovePointer < 1024 * 1024 * 1024)
{
_write(g_pSddDevHandle,szMemZero,SSD_SECTOR_SIZE);
ulMovePointer += SSD_SECTOR_SIZE;
}
TIMER_END();
TIMER_PRINT();
FILE * file = fopen("f:\\test.tmp","a+");
TIMER_START();
while (ulMovePointer < 1024 * 1024 * 1024)
{
fwrite(szMemZero,SSD_SECTOR_SIZE,1,file);
ulMovePointer += SSD_SECTOR_SIZE;
}
TIMER_END();
TIMER_PRINT();
Pisanie nieprzetworzonych danych wcale nie jest zaszyfrowane - dla użytkownika jest to mylące ... – bdonlan
+1 dla profilowania. (Chociaż to pytanie jest powyżej mojej głowy) – GManNickG
Do bannlan: Po prostu chcę, żeby wyglądało jak zaszyfrowane. Niewidoczne dla użytkowników –