fork download
  1. #!/usr/bin/env python3
  2.  
  3. import timeit
  4.  
  5. def f1():
  6. buf = b""
  7.  
  8. for i in range(102):
  9. buf += b'c'
  10.  
  11. return buf
  12.  
  13. def f2():
  14. buf = b""
  15.  
  16. for i in range(1024):
  17. buf += b'c'
  18.  
  19. return buf
  20.  
  21. def f3():
  22. buf = b""
  23.  
  24. for i in range(10240):
  25. buf += b'c'
  26.  
  27. return buf
  28.  
  29. def g1():
  30. buf = bytearray()
  31.  
  32. for i in range(102):
  33. buf.append(b'c'[0])
  34.  
  35. return bytes(buf)
  36.  
  37. def g2():
  38. buf = bytearray()
  39.  
  40. for i in range(1024):
  41. buf.append(b'c'[0])
  42.  
  43. return bytes(buf)
  44.  
  45. def g3():
  46. buf = bytearray()
  47.  
  48. for i in range(10240):
  49. buf.append(b'c'[0])
  50.  
  51. return bytes(buf)
  52.  
  53. if __name__ == "__main__":
  54. print(timeit.repeat(f1, number=100))
  55. print(timeit.repeat(f2, number=100))
  56. print(timeit.repeat(f3, number=100))
  57. print("");
  58. print(timeit.repeat(g1, number=100))
  59. print(timeit.repeat(g2, number=100))
  60. print(timeit.repeat(g3, number=100))
  61.  
Success #stdin #stdout 3.07s 9440KB
stdin
Standard input is empty
stdout
[0.0020170211791992188, 0.0019440650939941406, 0.0019409656524658203]
[0.041037797927856445, 0.041018009185791016, 0.04107093811035156]
[0.7578439712524414, 0.7591700553894043, 0.7608458995819092]

[0.0020971298217773438, 0.002053976058959961, 0.0020461082458496094]
[0.01930403709411621, 0.01883697509765625, 0.019004106521606445]
[0.18823003768920898, 0.18645501136779785, 0.18684792518615723]