Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I am new to python. Is 1 << n is always better than 2 ** n? Why or Why not?

Are there any better ways to find the powers of 2?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
152 views
Welcome To Ask or Share your Answers For Others

1 Answer

<< and ** works almost same when compare to time complexity, result can be seen, pow works faster when values are small then these but for large values it works slow

In [108]: %timeit pow(2, 2)
10000000 loops, best of 3: 127 ns per loop

In [104]: timeit 1<<2
10000000 loops, best of 3: 23.2 ns per loop

In [105]: timeit 2**2
10000000 loops, best of 3: 24.5 ns per loop


In [111]: %timeit  1<<10
10000000 loops, best of 3: 23.9 ns per loop

In [112]: %timeit  2**10
10000000 loops, best of 3: 23.5 ns per loop

In [113]: %timeit pow(2, 10)
10000000 loops, best of 3: 167 ns per loop

In [114]: %timeit  1<<10000
10000000 loops, best of 3: 23.5 ns per loop

In [115]: %timeit  2**10000
10000000 loops, best of 3: 23.9 ns per loop

In [116]: %timeit pow(2, 10000)
10000 loops, best of 3: 27.7 μs per loop

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...