Метод .join() считается более производительным методом объединения строк в Python, потому что он заранее считает необходимое место в памяти для всех операций. 1
В то время как оператор + вынужден обращаться к памяти каждый раз, когда встречает новую строку, .join() оптимизирован: он сначала анализирует количество стандартных разделителей и элементов (строк), выделяет для всех них память, и уже после этого соединяет строку. 1
Таким образом, у .join() меньше обращений к памяти (системных вызовов к операционной системе), что и обеспечивает более высокую производительность. 1
Кроме того, .join() снижает потребление памяти, рассчитывая конечную длину строки заранее, а не увеличивая её постепенно. 4
Таким образом, метод .join() более эффективен, когда количество строк значительно. 2