import time,StringIO start = time.time() s = "" for i in xrange(50000): s += str(i) print "method 1:",time.time()-start start = time.time() s = [] for i in xrange(50000): s.append(str(i)) s = "".join(s) print "method 2:",time.time()-start start = time.time() s = StringIO.StringIO() for i in xrange(50000): s.write(str(i)) s = s.getvalue() print "method 3:",time.time()-start """ method 1: 9.42199993134 method 2: 0.110000133514 method 3: 0.233999967575"""