Мне нужно записать данные на диск. У меня есть два варианта:Что происходит быстрее, записывая необработанные данные на диск или записывая в файл?
- написать необработанные сектора (_ запись (ручка, пиксельный буфер, размер);)
- записи в файл (FWRITE (пиксельный буфер, размер, количество, Pfile);)
Какой способ быстрее?
Я ожидал, что функция записи исходного сектора, _write, будет более эффективной. Однако мой результат теста не удался! fwrite работает быстрее. _write стоит больше времени.
Я наклеил свой сниппет; возможно, мой код неправильный. Можете ли вы мне помочь? В любом случае это хорошо со мной, но я думаю, что сырые записи лучше, потому что кажется, что данные в диске шифруются по крайней мере ....
#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();
Написание исходных данных вообще не зашифровано - это просто смущает пользователя ... – bdonlan
+1 для профилирования. (Хотя этот вопрос выше моей головы) – GManNickG
В bdonlan: Я просто хочу, чтобы это выглядело как зашифрованное ... для пользователей –