Часть кода, которая может убить производительность компьютера

Я ищу код в С#, который может убить производительность компьютера (производительность процессора, возможно, производительность процессора - память), насколько это возможно (он будет работать на 4-х ядровом ящике, поэтому я собираюсь создать 4 потоки и запустить его одновременно).

Должен ли он работать с типом данных int/double/numeric/, если у него есть сумасшедшие структуры данных (но он не должен занимать слишком много памяти).

Есть ли у вас какие-либо предложения?

Ответ 1

Вычислить PI, используя все процессоры.

Ответ 3

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

Ответ 4

У вас есть программа, которая записывает копии своего исполняемого файла на диск несколько раз для каждого потока. Затем каждая из этих копий программы запускается программой.:)

Ответ 7

Вызвать Bitmap.GetPixel в цикле в приложении обработки изображений.

Ответ 8

Я бы сказал: реализация верного (грубой силы) коммивояжера:

(из wikipedia):

Проблема коммивояжера (TSP) является NP-трудной проблемой в комбинаторной оптимизации, изученной в исследованиях операций и теоретической информатики. Учитывая список городов и их попарные расстояния, задача состоит в том, чтобы найти кратчайший тур, который посещает каждый город ровно один раз.

Ответ 9

Решение грубой силы N Queens (см. wikipedia) для, например, 64 ферзей.

Поскольку простой цикл, подобный этому, можно оптимизировать (иногда только через несколько минут):

while(true) {
  i++;
}

Ответ 10

Вы также можете разрешить очень длинное зашифрованное сообщение, зашифрованное ключом, например 2048 бит. Это убийца.

Ответ 11

Программа с открытым исходным кодом и многопоточным 3D-моделированием, создающая чрезвычайно сложную освещенную сцену, забивает самую сильную систему в представлении.

Ответ 12

Хорошо, как насчет некоторой бесконечной рекурсии в духе StackOverflow?

void deathToAllRobots(int someMeaninglessValue) {
    deathToAllRobots(someMeaninglessValue+1);
}

Ответ 13

int *x;
while(1)
{
     x = new int[10];
}