Member 12107284 Ответов: 1

Как в программе на языке Си мы получаем данные каждый раз из оперативной памяти


Как в c мы каждый раз получаем данные из оперативной памяти для медленного выполнения.Есть ли какой-нибудь метод в языке Си, который мы пропускаем каждый раз.Я хочу выполнить свою программу как можно медленнее

Что я уже пробовал:

for (int i=0;i> 0; i++)
{
// медленный код здесь
}

Patrice T

Похоже, это плохое решение еще одной проблемы.
Можете ли вы объяснить, какую проблему вы пытаетесь решить ?

Member 12107284

сэр, я хочу медленно выполнить программу на языке Си и использую таймер, который сообщает мне время выполнения.Мне не удалось получить данные из оперативной памяти всегда получить кэш формы данных

Patrice T

Что-то заставляет вас думать, что данные из оперативной памяти отличаются от данных кэша ?

1 Ответов

Рейтинг:
0

OriginalGriff

Цитата:
Я хочу выполнить свою программу как можно медленнее
Почему? Это довольно эзотерическая просьба...

Если вы хотите принудительно замедлить выполнение, единственный практичный способ-использовать операционную систему для замедления потока, переводя задачу в спящий режим либо внутри цикла, либо вместо него. Как именно вы это сделаете, мы не можем сказать, потому что это будет варьироваться от целевой системы к системе - но начните с поиска "сна" в документации библиотеки для вашего компилятора / IDE.


Member 12107284

Сэр, в c нет никакого способа пропустить кэш. Я хочу скучать по кэшу.

OriginalGriff

Нет, даже если и был, то какой тайник? Современные процессоры имеют кэши уровня 1 и уровня 2, Windows поддерживает кэши, жесткие диски имеют кэши.

И мы понятия не имеем, в какой системе будет работать ваш код - любой кэш, который вы можете отключить, будет зависеть от конкретной операционной системы, версии и конкретного оборудования, на котором работает ваш код, а также от компилятора / библиотек, которые вы используете.

Почему ты думаешь, что это хорошая идея?