Python langsam beim Strings-anhängen

Beim verarbeiten und zusammenführen vieler und großer Übersetzungsdateien fiel mir auf, dass es mit String-Anhängen zu sehr langen Laufzeiten führte.

Python ist hier wohl nicht sehr gut optimiert. Schlussendlich habe ich es auf "list" umgearbeitet.

strings_test.py
import time
 
start = time.time()
str1 = ""
for i in range(1,10000000):
    str1 += "A"*1000
print("Concat took: " + str(time.time() - start))
 
start = time.time()
str1 = ""
str2 = []
for i in range(1,10000000):
    str2.append("B"*1000)
print("List collection took: " + str(time.time() - start))
 
start = time.time()
str1 = "\n".join(str2)
print("Final join took: " + str(time.time() - start))
Concat took: 4.820241689682007
List collection took: 0.9731082916259766
Final join took: 2.7453043460845947