Re[10]: Замена типа переменной long int на long long без вычислений замедляет ко
От: Кодт Россия  
Дата: 04.09.13 16:43
Оценка:
Здравствуйте, getch, Вы писали:

G>Странно просто, что компилятор делает call в цикле за вместо inlining Print. Как на это решение влияет cout перед циклом — не ясно. Но факт — влияет все же. Хотя ничто ему не мешает сделать все правильно.


Может, ему сам факт cout<< не нравится.
Может, критическое значение имеет размер функции main: если она меньше порога по длине, или нагрузке на стек, или нагрузке на регистры, то инлайнит содержимое, а если больше порога — то заведомо не инлайнит.
Попробуй засунуть этот cout<< внутрь Print и посмотреть, проинлайнится он или нет.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.