Для локальных переменных конечный модификатор не сохраняется в байт-коде, поэтому не может быть разницы в производительности. Для полевого члена влияние на производительность является более сложным. Это может дать намёку подсказку, что поле не изменено, и позволить ему кэшировать значение в регистре. С другой стороны, final дает некоторые гарантии относительно видимости значения полей для других потоков, что может фактически замедлить построение объекта.
По производительности я думаю, что это микрооптимизация, эффект которой вряд ли можно измерить.
Я бы по-прежнему рекомендовал использовать final, когда это возможно, чтобы прояснить свои намерения перед коллегами и самим собой.