19,518
社区成员




#define READ_TIMES 1000
void read(void)
{
FILE* fp = _wfopen(FilePath1, L"rb"); // file size must exceed 8MB !
BYTE* buf = new BYTE[4*1048576]; // 4MB buffer
srand(GetTickCount());
READ Read[READ_TIMES];
for (int i = 0; i < READ_TIMES; i++)
{
Read[i].offset = (long)((ULONGLONG)rand() * (ULONGLONG)rand() / (ULONGLONG)(rand() | 1));
Read[i].length = (size_t)((ULONGLONG)rand() * (ULONGLONG)rand() / (ULONGLONG)(rand() | 1));
if (Read[i].offset > 4*1048576) Read[i].offset = 4*1048576;
if (Read[i].length > 4*1048576) Read[i].length = 4*1048576;
}
DWORD tc1 = GetTickCount();
for (int i = 0; i < READ_TIMES; i++)
{
fseek(fp, Read[i].offset, SEEK_SET);
fread(buf, 1, Read[i].length, fp);
}
DWORD tc2 = GetTickCount();
delete []buf;
fclose(fp);
m_nTest_fread = tc2 - tc1;
}