я практиковал на каком-то сайте конкурентного программирования, как UVa или LOj и заметил несколько раз (10 раз или больше!), Что положить ненужную петлю в моей программе, например, помещая это в начале программы-Почему C++ ненужный цикл делает программу быстрее?
for (int _delay = 0; _delay < 500000000; _delay++);
заставляет его работать быстрее (!), Что обычно и дает мне лучшие ряды. Я снова и снова повторяю, но это продолжается. Мой вопрос в том, как это возможно? Просто совпадение (что случалось много раз) или скомпилированная программа, получившая оптимизацию по какой-то причине?
В случае, если вам интересно, я написал функцию задержки один раз, и я вызвал ее в начале моей программы по ошибке в первый раз, когда это произошло. – crysoberil
Вы можете решить большинство вопросов об оптимизации, сравнив машинный код с этим циклом и без него. – Kaz
Хорошо, это немного странно, но я мог видеть, что изменение значения некоторых эвристик, и это может в конечном итоге заставить компилятор скомпилировать его по-другому. Посмотрите на код сборки, чтобы узнать. – harold