>>> from timeit import Timer
>>> f1 = """def test(m, n):
s = ""
d = "0123456789abcdef" * m
for i in range(n):
s += d
"""
>>> f2 = """def test(m, n):
s = []
d = "0123456789abcdef" * m
for i in range(n):
s.append(d)
"".join(s)
"""
>>> Timer("test(10, 1)", f1).timeit()
2.1228756727461473
>>> Timer("test(10, 1)", f2).timeit()
2.9558281848669594
>>> Timer("test(10, 10)", f1).timeit()
13.39612017728507
>>> Timer("test(10, 10)", f2).timeit()
9.7877330778073883