Guest User

Untitled

a guest
Jun 24th, 2018
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. >>> timeit('def a():return 222*333 ;a()')
  2. 0.08195090293884277
  3. >>> timeit('a=lambda:222*333 ;a()')
  4. 0.11071300506591797
  5.  
  6. >>> timeit('a=lambda: [].extend(range(10)) ;a()')
  7. 0.40241098403930664
  8. >>> timeit('a=lambda: [].extend(range(10)) ;a()')
  9. 0.4011270999908447
  10. >>> timeit('a=lambda: [].extend(range(10)) ;a()')
  11. 0.4064619541168213
  12. >>> timeit('def a(): return [].extend(range(10)) ;a()')
  13. 0.07965493202209473
  14. >>> timeit('def a(): return [].extend(range(10)) ;a()')
  15. 0.08039593696594238
  16. >>> timeit('def a(): return [].extend(range(10)) ;a()')
  17. 0.08103609085083008
  18. >>> timeit('def a(): return [].extend(range(10)) ;a()')
  19. 0.08639097213745117
  20.  
  21. >>> timeit('a()', setup="def a():return 222*333")
  22. 0.07061290740966797
  23. >>> timeit('a()', setup="a=lambda: 222*333")
  24. 0.06967616081237793
  25.  
  26. In [34]: def a(): return [].extend(range(10)) ;a()
  27.  
  28. In [35]: import dis
  29.  
  30. In [36]: dis.dis(a)
  31. 1 0 BUILD_LIST 0
  32. 3 LOAD_ATTR 0 (extend)
  33. 6 LOAD_GLOBAL 1 (range)
  34. 9 LOAD_CONST 1 (10)
  35. 12 CALL_FUNCTION 1
  36. 15 CALL_FUNCTION 1
  37. 18 RETURN_VALUE
  38. 19 LOAD_GLOBAL 2 (a)
  39. 22 CALL_FUNCTION 0 #<-- a is called
  40. 25 POP_TOP
  41.  
  42. In [24]: %timeit a=lambda: [].extend(range(10))
  43. 10000000 loops, best of 3: 68.6 ns per loop
  44.  
  45. In [25]: %timeit def a2(): return [].extend(range(10))
  46. 10000000 loops, best of 3: 68.8 ns per loop
  47.  
  48. In [22]: %timeit a()
  49. 1000000 loops, best of 3: 445 ns per loop
  50.  
  51. In [23]: %timeit a2()
  52. 1000000 loops, best of 3: 442 ns per loop
  53.  
  54. def a(): return 10
  55. b = lambda: 10
  56.  
  57. import dis
  58.  
  59. >>> dis.dis(a)
  60. 1 0 LOAD_CONST 1 (10)
  61. 3 RETURN_VALUE
  62. >>> dis.dis(b)
  63. 1 0 LOAD_CONST 1 (10)
  64. 3 RETURN_VALUE
  65.  
  66. import timeit
  67.  
  68. def a():
  69. return 222*333
  70.  
  71. b = lambda: 222*333
  72.  
  73. >>> min(timeit.repeat(a))
  74. 0.08302917300898116
  75. >>> min(timeit.repeat(b))
  76. 0.08061711701157037
  77.  
  78. import timeit
  79.  
  80. def a():
  81. return 222*333
  82.  
  83. b = lambda: 222*333
  84.  
  85. setup = 'from __main__ import a, b'
  86.  
  87. min(timeit.repeat('a()', setup))
  88.  
  89. 0.1410999298095703
  90.  
  91. min(timeit.repeat('b()', setup))
  92.  
  93. 0.11270594596862793
Add Comment
Please, Sign In to add comment