std::string getBrand(const char* device_name) {
io->print("in: {}", device_name);
std::string strDeviceName;;
int k_out = 0;
for (int l = 0; l < 3; l++) {
strDeviceName += device_name[l];
}
io->print("out: {}", strDeviceName);
if (strDeviceName == "AMD") {
return "AMD";
}
if (strDeviceName == "Int") {
return "INTEL";
}
if (strDeviceName == "Nvd") {
return "NVIDIA";
}
}Парсер названия) 🩼 💩
uint64_t buffer_size = (fMallocMemoryOffset) * 1024 * 1024;
const uint64_t GB = 1024 * 1024 * 1024;
// Выделение памяти
uint64_t* buffer = nullptr;
///stack_ptr = buffer;
try {
buffer = new uint64_t[buffer_size];
}
catch (const bad_alloc& e) {
ImGui::TextColored(ImVec4(1.0f, 0, 0.40f, 1.0f), "Memory allocation failed: %d", e.what());
MessageBoxA(hwnd, ("Memory allocation failed:\nError:" + std::string(e.what())).c_str(), "SYSTEM-Z::Memory Test", 1);
return EXIT_FAILURE;
}
// Тест записи
std::string stack_dump = "";
uint64_t* stack = 0;
//
dumpMemory << Hour << ":" << Min << ":" << Sec << " INFO:" << "[MEMORY_TEST] STARTING stack_size:" << static_cast<float>((fMallocMemoryOffset * 8) / 1024) << " GB" << std::endl;
auto write_start = high_resolution_clock::now();
for (uint64_t i = 0; i < buffer_size; i++) {
buffer[i] = static_cast<uint64_t>(i % 256);
// SetWindowTextA(GetConsoleWindow(), ("[" + std::to_string(i) + " / " + std::to_string(buffer_size) + "]").c_str());
}
//dumpMemory << stack_dump << std::endl;
auto write_end = high_resolution_clock::now();
// Тест чтения и проверки
auto read_start = high_resolution_clock::now();
for (uint64_t i = 0; i < buffer_size; i++) {
if (buffer[i] != static_cast<uint64_t>(i % 256)) {
MessageBoxA(hwnd, ("Memory verification failed at position " + std::to_string(i)).c_str(), "SYSTEM-Z::Memory Test", 1);
cerr << "Memory verification failed at position " << i << endl;
delete[] buffer;
fCBenchMemory = false;
dumpMemory << Hour << ":" << Min << ":" << Sec << " INFO:" << "Memory Bench Stop" << " stack_size:" << ((fMallocMemoryOffset) * 8) / 1024 << std::endl;
return EXIT_FAILURE;
// dumpMemory.close();
}
}
auto read_end = high_resolution_clock::now();
// Освобождение памяти
delete[] buffer;
///dumpMemory.close();
// Расчёт и вывод результатов
int64_t write_time = duration_cast<milliseconds>(write_end - write_start).count();
int64_t read_time = duration_cast<milliseconds>(read_end - read_start).count();
double write_speed = static_cast<double>(buffer_size) / GB / (write_time / 1000.0);
double read_speed = static_cast<double>(buffer_size) / GB / (read_time / 1000.0);
dumpMemory << Hour << ":" << Min << ":" << Sec << " INFO:" << "[MEMORY_TEST] Results\n"
<< Hour << ":" << Min << ":" << Sec << " INFO:" << "WriteTest[" << static_cast<float>((fMallocMemoryOffset * 8) / 1024) << " GB] Time:" << write_time << "ms | Speed:" << write_speed << " GB/s\n"
<< Hour << ":" << Min << ":" << Sec << " INFO:" << "ReadTest[" << static_cast<float>((fMallocMemoryOffset * 8) / 1024) << " GB] Time:" << read_time << "ms | Speed:" << read_speed << " GB/s\n";
//
write_timeOut = write_time;
read_timeOut = read_time;
write_speedOut = write_speed;
read_speedOut = read_speed;
fCBenchMemory = false;
dumpMemory.close();
Тест чтения и записи в оперативную память
HCPP DEV
бля кайфово выглядит сука
и нахуй нужен линукс)
HCPP DEV
и нахуй нужен линукс)
когда все что есть в линуксе есть в винде, тока в винде удобнее и софта больше) Даже кодить под виндой удобнее.
VS Code - Все что угодно
VS26 С и С++)
VS Code - Все что угодно
VS26 С и С++)
когда линуксоид доказывает почему винда говно как это выглядит
This media is not supported in your browser
VIEW IN TELEGRAM