Necesito escribir datos en la unidad. Tengo dos opciones:¿Qué es más rápido, escribir datos sin procesar en una unidad o escribir en un archivo?
- escribir sectores primas (_ escritura (mango, pBuffer, tamaño);)
- escribir en un archivo (fwrite (pBuffer, tamaño, cuenta, pFile);)
¿Cuál es la manera más rápida?
Esperaba que la función de escritura del sector sin procesar, _write, fuera más eficiente. Sin embargo, ¡el resultado de mi prueba falló! fwrite es más rápido. escribir cuesta más tiempo.
He pegado mi fragmento; tal vez mi código es incorrecto ¿Me puede ayudar? De cualquier manera está bien por mí, pero creo que es mejor escribir en bruto, porque parece que los datos de la unidad se cifran al menos ....
#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();
Escribir datos sin procesar no está encriptado en absoluto; simplemente confunde al usuario ... – bdonlan
+1 para crear perfiles. (Aunque esta pregunta está por encima de mi cabeza) – GManNickG
Para bdonlan: Solo quiero que se vea como encriptado ... invisible para los usuarios –