Информация об изменениях

Сообщение Re[31]: Carbon от 22.04.2024 9:50

Изменено 22.04.2024 10:57 vdimas

Re[31]: Carbon
Здравствуйте, CreatorCray, Вы писали:

V>>Не, там же даётся дизассембинг кода. Происходит именно честный вызов is_max (если подавать не константу компиляции)

CC>Где? По всем ссылкам что тут были

Там можно компилятор, пройдись по сетке их и флаге O1, например.


CC>где выводит "упс" я вижу всё заинлайненое, функция отсутствует.


Я находил, где присутствует тело, но тоже давало oops для некоторых типов (проверял весь набор char/short/int/longlong).

Причём, стоило добавить в тело is_max отладочную печать std::cout << (value+1) << std::endl;, и оно становилось wow ))
Re[31]: Carbon
Здравствуйте, CreatorCray, Вы писали:

V>>Не, там же даётся дизассембинг кода. Происходит именно честный вызов is_max (если подавать не константу компиляции)

CC>Где? По всем ссылкам что тут были

Там можно выбрать компилятор, пройдись по сетке их и флаге O1, например.
(я брал последние номера компиляторов, а не trunk, бо в trunk у некоторых сидят старые версии, похоже давно они не обновляли сборки компиляторов из транков)


CC>где выводит "упс" я вижу всё заинлайненое, функция отсутствует.


Я находил, где присутствует тело, но тоже давало oops для некоторых типов (проверял весь набор char/short/int/longlong).

Причём, стоило добавить в тело is_max отладочную печать std::cout << (value+1) << std::endl;, т.е. никак не трогая целевые вычисления, не сохраняя промежуточный резузльтат и т.д., но оно резко становилось wow ))

Квантовый эффект — наблюдение влияет на результат. ))