Введение
Существует множество утилит, способных создать высокую нагрузку на процессор для нагрузочного тестирования вашего процессора (ов). В Microsoft Windows вы даже можете использовать встроенную плату calculator.exe
, ввести большое число, например 999999999
, и нажать n!
несколько раз, чтобы заставить ваши процессоры работать сверхурочно.
Но что за решение, если вы не создали его сами?
Миссия
Ваша миссия - если вы решите принять это - создать самый маленький инструмент для стресс-тестирования процессора на планете.
Должен…
- должен производить 100% загрузку процессора, пока не прервано
- должен принимать числовой ввод, представляющий количество секунд, которое должен пройти стресс-тест
- должен разрешать взаимодействие с пользователем (нажатие клавиши, закрытие окна терминала или что-то подобное), что должно позволить пользователю отменить стресс-тест и / или выйти из программы
- должен быть ориентирован на Microsoft Windows, Mac OSx и / или Linux.
(Даже хомяк может подчеркнуть Comodore64 ... поэтому вы должны ориентироваться на текущую операционную систему.)
Не должен…
- не должны использовать сторонние программы или инструменты, которые заменяют ожидаемую функциональность.
(Предложение ярлыков в виде подобныхsystem('cpuStressThing.exe')
дисквалифицирует ваше предложение.)
Май…
- может использовать любой подход / алгоритм / функциональность для получения ожидаемой 100% загрузки процессора
- может использовать любой язык программирования или сценариев
(при условии, что он позволяет на практике проверить его функциональность, запустив его)
Условие победы
Представьте наименьший возможный исходный код. Победителем становится тот, кто представит самый минимальный (по размеру) исходный код, соответствующий указанным выше условиям «должен» и «не должен». Теперь, чтобы этот ребенок сгорел ...
РЕДАКТИРОВАТЬ
Так как вопрос возник в области комментариев ... вам нужно только нацелиться на 1 ядро процессора. Я определенно не ожидаю, что вы создадите многоядерное решение. В конце концов, это должно быть весело, а не работать.