Позволяет оценить, сколько стековых кадров имеет каждый синтаксис (просто грубая диаграмма, извините за краткость):
1) builder() ->returns -> categoryCode() -> return this -> coveredAmount() -> return this
-> new BigDecimal() -> return BigDecimal -> return this -> finally build() -> returns Amount
Итак, всего 6 вызовов функций.
2) ctr call -> return Amount -> setter -> bigdecimal -> return bigdecimal -> return setter -> (same again as last step)
Всего 5 звонки
For 3) only 2 function calls
По вышеприведенному анализу третий синтаксис выигрывает, но ваш компилятор может оптимизировать таким образом, что у всех трех будет одинаковое время выполнения.