Visual C++ может выдавать предупреждение C4738:
хранение 32-разрядного плавающего результата в памяти, возможная потеря производительности
в случаях, когда 32-разрядный float
собирается храниться в памяти, а не в регистре.
В описании далее говорится, что использование double
решает проблему. Я не понимаю, почему последнее верно.
Почему хранение float
в памяти приводит к потере производительности, а хранение double
— нет?