Ответ 1
Что касается правильности, то они одинаково правильны - см. комментарии @J.Abrahamson и @Michael Snoyman.
Производительность, вероятно, зависит от использования, в частности, это изменит количество вызовов, которые нужно поднять, чтобы пересечь этот конкретный уровень, что должно быть основной разницей в производительности. Я бы предположил, что самые честные тесты не показывают никакой разницы. Для всей производительности программы профилирование является королем.