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))