Как бы это ни звучало базово, большинство бизнес-приложений заполнены избыточными вычислениями, исключите их. Рефакторинг расчетов является основой моделей оптимизации. Каждый раз, когда появляется цикл обработки, вы должны спросить:
То, что в этом цикле рассчитывается с тем же выходом, что и вне цикла.
В качестве основного примера:
for(int i=0;i< x/2; i++)
//do something
Здесь вы можете безопасно взять х / 2 и рассчитать его до начала цикла и повторно использовать это значение (современные компиляторы теперь заботятся об этих тривиальных оптимизациях)
Чтобы увидеть последствия этого простого правила, я могу привести пример, примененный к запросам к базе данных. Чтобы избежать ВНУТРЕННЕГО СОЕДИНЕНИЯ двух таблиц, чтобы получить высокорекурентный реквизит поля, вы можете нарушить правила нормализации и дублировать его в таблице, относящейся к той, которая имеет значение. Это позволяет избежать повторяющихся операций по объединению таблиц и может высвободить паралелизацию, поскольку только одна из таблиц должна быть заблокирована для транзакций. Пример:
Клиентским запросам к таблице требуется периодическая скидка клиента, но скидка сохраняется в таблице типов клиентов.