Как сделать интенсивную загрузку программы на С? - PullRequest
2 голосов
/ 25 мая 2009

Как можно сделать так, чтобы программа интенсивно загружала и сохраняла так, чтобы было максимальное количество ссылок на память и незначительные вычисления (даже не зацикливая накладные расходы!)

Ответы [ 4 ]

2 голосов
/ 25 мая 2009

С gcc используйте -funroll-loops для этого кода:

int main (int argc, char** argv) {
    int a = 5;
    int b = 10;
    int c;
    int i;

    while (1) {
        for (i = 0; i <= 2147483647; i++) {
            c = b;
            b = a;
            a = c;
        }
    }

    return 0;
}
1 голос
/ 25 мая 2009

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

0 голосов
/ 25 мая 2009

Составьте карту между возможными входами в вашу программу и возможными выходами.

Расчеты на входах, чтобы сделать выводы, должны быть сделаны другой программой или вручную, хотя.

0 голосов
/ 25 мая 2009

Используйте много volatile переменных, которые хранятся в памяти, но я не уверен, что это ответит на ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...