Привет:)
Процессор быстрее выполняет операции(в частности, умножение и логические выражения в условиях) с int чем с float?
Намного быстрее?
В целях оптимизации стоит ли заменить тип операндов с float на int, если их много и таких операций процессор должен высчитывать около 10 со скоростью 100 раз в секунду (помимо кучи других ,ессно:))
В принципе, "плавающая" часть вещественных чисел нужна только в двух местах, и то там можно обойтись приведением типов.
Стоил ли это делать?
И ещё, какое приведение (С или С++) будет работать быстрее:
foo(float);
...
int i;
float f;
foo(f*(float)i); //или foo(f*static_cast<float>(i));
Тем более что в целевые компьютеры должны попадать довольно старенькие машины, с частотой процессора около 600 Гц.
2. Ещё вопрос. Для повышения быстродействия имеет ли смысл делать следующее: у некоторых классов в программе есть много (с десяток) данных-членов (типы int и float), которые постоянно используются, как регуляторы или параметры чего-либо, и при этом не меняются, только раз инициализируются в конструкторе.
Так вот, сделать их всех const именно в целях хоть какого-нибудь повышения производительности имеет смысл?
Знаю, что если не меняются, то в правилах хорошего тона программирования их и так следует объявлять const, но а в целях скорости, делаются ли какие-нибудь оптимизации компилятором и т.д.?