Исправление AntonI, (текущая версия) :
1,2 - не, обычно просто время меряю, масштабируя если надо и предприняв меры чтобы компилятор не выкинул код 3 - да 4 - да, графики не рисую 5 - редко
спасибо, принято
сугубо математического, формульного вида функции которые сгружаются в оде солвер (если это моделирование), а массивы обычно в один уровень косвенности ( обработка сигналов)
сравните
... data[i].a*data[i].b+data[i].c ...
с
cell_t &C = data[i];
... C.a*C.b+C.c ...
только поточно безопасные дорогие
WTF «дорогие» в Вашем понимании? В моем понимании вот это
std::shared_ptr<A> ptr.reset(...);
// или
std::shared_ptr<A> ptr = ...;
значительно дороже чем вот это
A* ptr = ...
потому что там лишние манипуляции со счетчиком как минимум. Я бы не стал бездумно пихать такое во все места. Где то это бывает оправдано конечно, чаще нет.
Исходная версия AntonI, :
1,2 - не, обычно просто время меряю, масштабируя если надо и предприняв меры чтобы компилятор не выкинул код 3 - да 4 - да, графики не рисую 5 - редко
спасибо, принято
сугубо математического, формульного вида функции которые сгружаются в оде солвер (если это моделирование), а массивы обычно в один уровень косвенности ( обработка сигналов)
сравните
... data[i].a*data[i].b+data[i].c ...
с
cell_t &C = data[i];
... C.a*C.b+C.c ...
только поточно безопасные дорогие
WTF «дорогие» в Вашем понимании? В моем понимании вот это
std::shared_ptr<A> ptr.reset(...)
значительно дороже чем вот это
A* ptr = ...
потому что там лишний инкремент счетчика как минимум. Я бы не стал бездумно пихать такое во все места. Где то это бывает оправдано конечно, чаще нет.