Как заставить программу работать на полную?

программирование C# тест нагрузка производительность

Код на C#
for (int wtf = System.Int32.MinValue; wtf <= System.Int32.MaxValue; wtf++)
;

Просто так. От делать нечего!
4294967294 -+ 2 инкрементов выполняются уже минут 10. Процесс нагружает лишь на 50%.

Как заставить работать быстрее?

Примечание:
PetSerAl, действительно знак "=" делает бесконечным. Спасибо. Проблема решена.

Всем спасибо за ответы. На многопоточность обращу внимание, дабы хочу запустить Decimal xD
Ответы:
Перейти на компилируемый язык, например С++
Используйте многопоточность.
В Вашем случае поток один, поэтому выполняется только в одном ядре ЦП, хотя у Вашего ЦП их два.
Создайте ещё один поток и выполняйте в нём такой же цикл - он будет выполняться в другом ядре.
>wtf <= System.Int32.MaxValue
Это условие всегда истенно, так что Ваш цикл никогда не завершится,  можете хоть 10 часов ждать.
> Как заставить работать быстрее?
У вас атомарная операция, и вы ее не ускорите. Что касается многопоточности, то то вы 100% получите false sharing + глобальный лок на wtf, который в вашем случае выродит многопоточный код в однопоточный; а если без использования синхронизации (как предложил пользователь "Без имени"), то вы получите свою копию переменной wtf в каждом кешлайне многоядерного процессора (у каждого ядра свой независимый кешлайн). И насколько часто содержимое кешлайна будет сбрасываться в ОЗУ (если вообще будет) в процессе работы приложения - это еще тот вопрос, вообщем, в этом случае вы получите на выходе гонку по данным (что практически является undefined behavior и ни к чему хорошему не приведет).


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.