Load dataset in smaller chunks

armv8-a-jit
SChernykh 5 years ago
parent 78158b6020
commit 985db549d9

@ -232,12 +232,27 @@ int main(int argc, char** argv) {
}
char* dataset_memory = reinterpret_cast<char*>(randomx_get_dataset_memory(dataset));
bool read_ok = false;
bool read_ok = true;
FILE* fp = fopen("dataset.bin", "rb");
if (fp)
{
read_ok = (fread(dataset_memory, 1, randomx::DatasetSize, fp) == randomx::DatasetSize);
constexpr size_t N = 1 << 24;
for (char* p = dataset_memory, *e = dataset_memory + randomx::DatasetSize; p < e;)
{
size_t nBytes = e - p;
if (nBytes > N)
nBytes = N;
printf("Loading dataset: %.2f%% \r", (p - dataset_memory) * 100.0 / randomx::DatasetSize);
read_ok &= (fread(p, 1, nBytes, fp) == nBytes);
if (!read_ok)
{
printf("\nfread failed\n");
break;
}
p += nBytes;
}
fclose(fp);
}

Loading…
Cancel
Save